我有 js 函数,它试图设置 XMLDoc 对象并设置全局参数之一(modelingDiagram)。
在尝试按标签名称获取元素时,它总是返回空列表(但不是在 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 希望在这里获得正确的列表是什么?