2017-01-17 10 views
1

私はXMLを持っており、解析してノード値を取得しようとすると、FirefoxやChromeでは正常に動作しますがIEでは正常に動作しません。提案してください 。XMLの解析ノードの値がIEで機能しない

var txt = "<?xml version='1.0' encoding='UTF-8' ?>\n<info>\n<error>\n<code>0</code>\n<name>STATUS_OK</name>\n</error>\n</info>\n"; 
var errCode = xmlDoc.childNodes[0].childNodes[1].children[0].innerHTML; 

Firefoxでは、errCodeは0ですが、IE11ではエラーです。

答えて

2

以下のコードを使用すると、IEと他のブラウザの両方で動作します。それは私のために働いた。..

var xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<info>\n<error>\n<code>0</code>\n<name>STATUS_OK</name>\n</error>\n</info>\n"; 
 

 
if (window.DOMParser){ 
 
    parser = new DOMParser(); 
 
    xml = parser.parseFromString(xmlString, "text/xml"); 
 
} else { 
 
    // Internet Explorer 
 
    xml = new ActiveXObject("Microsoft.XMLDOM"); 
 
    xml.async = false; 
 
    xml.loadXML(xmlString); 
 
} 
 

 
//check if tag is present otherwise assign empty string "" ; 
 
var code = (typeof(xml.getElementsByTagName("code")[0]) !== "undefined") ? xml.getElementsByTagName("code")[0].textContent : ""; 
 

 
//check if tag is present otherwise assign empty string "" ; 
 
var message = (typeof(xml.getElementsByTagName("name")[0]) !== "undefined") ? xml.getElementsByTagName("name")[0].textContent : ""; 
 

 
alert("code : "+code+"\nname : "+message);

+0

おかげで...もう一つの助けあなたが行うことができます。ノード名「コード」がxmlに存在するかどうかを確認して値を見つけなければならない場合はどうすればよいですか。 –

+0

@AbhinavParashar、あなたがコメント で述べたように答えを編集しました。タグが存在するかどうかを確認し、そうでない場合は値を取得します。 –

+0

答えを✓(解決済み)とマークしてください=> [image resolve post](http://i.stack.imgur.com/T8umg.png))ありがとうございます。 –

関連する問題