我是XML的新手,在尝试获取父节点名称时遇到了一些问题
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Contacts/getSearchRecords">
<result>
<Contacts>
<row no="1">
<FL val="CONTACTID">545094000000127015</FL>
<FL val="First Name"><![CDATA[Roger]]></FL>
<FL val="Last Name"><![CDATA[Rabbit]]></FL>
<FL val="ACCOUNTID">12345678910</FL>
<FL val="Account Name"><![CDATA[Warner Bros Inc]]></FL>
</row>
</Contacts>
</result>
</response>
在我的Javascript中,我可以通过这种方式获取子节点的nodeValues
parser = new DOMParser();
xmlDoc = parser.parseFromString(req.responseText, "text/xml");
//I also have the windows one but no need to see it
var length = xmlDoc.getElementsByTagName("FL").length;
for (var i = 0; i < length; i++) {
alert(xmlDoc.getElementsByTagName("FL")[i].childNodes[0].nodeValue);
}
我试过了:
alert(xmlDoc.getElementsByTagName("FL")[i].nodeValue);
alert(xmlDoc.getElementsByTagName("FL")[i].childNodes[0].parentNode.nodeValue);
alert(xmlDoc.getElementsByTagName("FL")[i].childNodes[0].parentNode.nodeName);
等。但似乎没有任何工作我得到Nulls或未定义。 我基本上想要获取名称(名字,ACCOUNTID等),这样我就可以运行一个switch语句并将节点值放在适当的位置。
感谢您的帮助!
答案 0 :(得分:1)
对我而言,对于“parentNode名称”的含义有点不清楚。感谢您的上一句话,我想,您希望获得每个val
代码的FL
属性?!以下内容对此有所帮助:
alert(xmlDoc.getElementsByTagName("FL")[i].getAttribute('val'));
我建议您使用JavaScript控制台和console.log
而不是alert
。
希望它有所帮助。祝你有个美好的一天。