我试图从XML的两个不同部分获取数据:
<product>
<global>
<identification>
<suCode>
<![CDATA[52774]]>
</suCode>
<suExtCode>
<![CDATA[0]]>
</suExtCode>
<code>
<![CDATA[2000000370804]]>
</code>
</identification>
</global>
<PARTS>
<part1>
<identification>
<code>
<![CDATA[2000000370828]]>
</code>
<lvarCoDE>
<![CDATA[0]]>
</lvarCoDE>
<linked>
<![CDATA[0]]>
</linked>
<codeChild>
<![CDATA[2000000370804]]>
</codeChild>
</identification>
</part1>
<part2>
<identification>
<gtin>
<![CDATA[2000000370835]]>
</gtin>
<lvarCoDE>
<![CDATA[0]]>
</lvarCoDE>
<linked>
<![CDATA[0]]>
</linked>
<codeChild>
<![CDATA[2000000370828]]>
</codeChild>
</identification>
</part2>
</PARTS>
</product>
全局和部分与linked
标记和suExtCode
相关,xml的第二个bloc的不同部分也与code
标记和{{{{}}相关联1}}标签
喜欢:52774 - &gt; 2000000370828 - &gt; 2000000370835
有没有办法使用javascript为这个xml创建树视图?
我最后需要的XML:
codeChild
答案 0 :(得分:0)
如果你想要一些没有jQuery的东西,请考虑这个:
var xmlStr = '<product><global><identification>...'</product>';
var xmlDoc = (new window.DOMParser()).parseFromString(xmlStr, "text/xml");
您可以使用getElementsById
或getElementsByTagName
等DOM方法浏览xmlDoc
树:
xmlDoc.getElementsByTagName('identification');
当你在标签中添加jquery时,我假设你正在使用jQuery。
如果你使用jQuery,它就像这样简单:
var xmlStr = '<product><global><identification>...'</product>';
var xmlDoc = $.parseXML(xmlStr);
然后,您可以将xmlDoc
包装在jQuery对象中:
var $xml = $(xmlDoc);
之后,您可以通过$xml
树“jQuery方式”:
$xml.find('identification');
答案 1 :(得分:0)
你能做的就是像这样解析XML。
var parser = new DOMParser();
var xml= parser.parseFromString(dataFromXMLFile,"text/xml");
dataFromXMLFile
是您作为XML提供的内容。在此之后,xml
变量可以像html一样通过document
对象使用。
xml.getElementsByTagName('codeChild') // Returns an array of the codeChild elements.