XMLDoc オブジェクトを設定しようとしている js 関数があり、グローバル パラメータ (modelingDiagram) の 1 つも設定しています。
タグ名で要素を取得しようとすると、常に空のリストが返されます (ただし、Firefox では返されません)。デバッグ中に、監視領域で試したタグに対して空のリストが返されていることがわかりました-xmlDoc.getElementsByTagName('Processes'); または xmlDoc.getElementsByTagName("desc");
以下はjs関数です。コメント領域は、例外が発生した場所を示しています。
function setXmlDoc(text)
{
if (window.ActiveXObject){
var doc=new ActiveXObject('Microsoft.XMLDOM');
doc.async='false';
doc.loadXML(text);
} else {
var parser=new DOMParser();
var doc=parser.parseFromString(text,'text/xml');
}
xmlDoc = doc;
modelingDiagram = xmlDoc.getElementsByTagName('Processes')[0].getElementsByTagName('ModelingDiagram');
//Uncaught TypeError: Cannot call method 'getElementsByTagName' of undefined
}
テキスト変数には、文字列形式の xml が含まれています。
<?xml version="1.0" encoding="utf-8"?>
<Processes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="">
<Process>
<desc value="Z45 Accounting">Z45 Accounting</desc>
<height value="541">541</height>
<width value="411">411</width>
<xval value="50">50</xval>
<yval value="50">50</yval>
<Flowelements>
....
....
....
Chromeが適切なリストを取得するためにここで何を期待しているのかわかりませんでしたか?