猜猜这对于 javascript 大师来说是一个简单的问题,但我正在学习并且遇到了一个我无法猜测的问题。
我对使用 javascript 读取 XML 文件很感兴趣。以下是 XML 文件的示例:
<object name='obj1'>
<attribute name='att1' value='val1'/>
<attribute name='att2' value='val2'/>
<attribute name='attN' value='valN'/>
<subobject name='sub1'>
<attribute name='satt1' value='sval1'/>
<attribute name='satt2' value='sval2'/>
<attribute name='sattN' value='svalN'/>
</subobject>
<subobject name='subn'>
<attribute name='snatt1' value='snval1'/>
<attribute name='snatt2' value='snval2'/>
<attribute name='snattN' value='snvalN'/>
</subobject>
</object>
如您所见,我有 N 个对象。每个对象都有全局属性,并且可能有 0...M 个子对象及其属性。
问题是,应用这个(我的)代码来解析ob1属性,我还得到了所有子对象属性:
if (window.XMLHttpRequest) {
var xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET",URL,false);
xmlhttp.send();
var xmlDoc=xmlhttp.responseXML;
var objList = xmlDoc.getElementsByTagName("object");
var attrList = objList[0].getElementsByTagName("attribute"); // Got ALL attributes here
}
在该代码中(为简单起见,没有错误测试),我的 attrList 对象同时获取 obj1 和所有子对象属性。
如何重写代码以仅获取 att1...attN?!?!
提前致谢!