JS解析XML文件和XML字符串
生活随笔
收集整理的這篇文章主要介紹了
JS解析XML文件和XML字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.cnblogs.com/chjw8016/archive/2011/07/12/2104269.html?JS解析XML字符串
?
<script?type='text/javascript'>????loadXML?=?function(xmlString){
????????var?xmlDoc=null;
????????//判斷瀏覽器的類型
????????//支持IE瀏覽器?
????????if(!window.DOMParser?&&?window.ActiveXObject){???//window.DOMParser?判斷是否是非ie瀏覽器
????????????var?xmlDomVersions?=?['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
????????????for(var?i=0;i<xmlDomVersions.length;i++){
????????????????try{
????????????????????xmlDoc?=?new?ActiveXObject(xmlDomVersions[i]);
????????????????????xmlDoc.async?=?false;
????????????????????xmlDoc.loadXML(xmlString);?//loadXML方法載入xml字符串
????????????????????break;
????????????????}catch(e){
????????????????}
????????????}
????????}
????????//支持Mozilla瀏覽器
????????else?if(window.DOMParser?&&?document.implementation?&&?document.implementation.createDocument){
????????????try{
????????????????/*?DOMParser?對象解析?XML?文本并返回一個?XML?Document?對象。
?????????????????*?要使用?DOMParser,使用不帶參數的構造函數來實例化它,然后調用其?parseFromString()?方法
?????????????????*?parseFromString(text,?contentType)?參數text:要解析的?XML?標記?參數contentType文本的內容類型
?????????????????*?可能是?"text/xml"?、"application/xml"?或?"application/xhtml+xml"?中的一個。注意,不支持?"text/html"。
?????????????????*/
????????????????domParser?=?new??DOMParser();
????????????????xmlDoc?=?domParser.parseFromString(xmlString,?'text/xml');
????????????}catch(e){
????????????}
????????}
????????else{
????????????return?null;
????????}
????????return?xmlDoc;
????}
</script>
?
測試XML
?
<?xml?version="1.0"?encoding="utf-8"??><DongFang>
??<Company>
????<cNname>1</cNname>
????<cIP>1</cIP>
??</Company>
??<Company>
????<cNname>2</cNname>
????<cIP>2</cIP>
??</Company>????
??<Company>
????<cNname>3</cNname>
????<cIP>3</cIP>
??</Company>
??<Company>
????<cNname>4</cNname>
????<cIP>4</cIP>
??</Company>
??<Company>
????<cNname>5</cNname>
????<cIP>5</cIP>
??</Company>
??<Company>
????<cNname>6</cNname>
????<cIP>6</cIP>
??</Company>
</DongFang>
?
?
使用方法
?var xmldoc=loadXML(text.xml)
?var elements = xmlDoc.getElementsByTagName("Company");
?for (var i = 0; i < elements.length; i++) {
??????????????? var?name = elements[i].getElementsByTagName("cNname")[0].firstChild.nodeValue;
??????????????? var ip?= elements[i].getElementsByTagName("cIP")[0].firstChild.nodeValue;???????????????
}
更多文章: 解析 XML DOM-http://www.w3school.com.cn/xmldom/dom_parser.asp JavaScript解析XML的方法總結-http://developer.51cto.com/art/200902/109968.htm轉載于:https://www.cnblogs.com/svennee/p/4073034.html
總結
以上是生活随笔為你收集整理的JS解析XML文件和XML字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU-2037-今年暑假不AC
- 下一篇: checkbox全选衍生问题讨论