我想从xml文件中选择两个项目,其中itemno和数量较少,价格较低。任何人都可以帮助我在javascript中执行此操作。
items.xml:
<?xml version="1.0"?>
<items>
<item>
<itemno>1</itemno>
<unitprice>99</unitprice>
<Quantity>10</Quantity>
</item>
<item>
<itemno>2</itemno>
<unitprice>80</unitprice>
<Quantity>10</Quantity>
</item>
<item>
<itemno>3</itemno>
<unitprice>120</unitprice>
<Quantity>10</Quantity>
</item>
</items>
的javascript:
var xmlDoc=new ActiveXObject("MSXML.DOMDocument");
xmlDoc.async="false";
xmlDoc.load("items.xml");
var items=xmlDoc.documentElement;
var item = itemss.childNodes(0);
答案 0 :(得分:1)
所有基本DOM方法也适用于XML:
http://www.quirksmode.org/dom/w3c_core.html
https://developer.mozilla.org/en/DOM/document
https://developer.mozilla.org/en/DOM/element
您可以使用
找到所有项目items = xmlDoc.getElementsByTagName('item');
对于每个项目,其中一个子节点是成本节点:
priceNode = item.childNodes[1];
(或者您可以查看子节点,查找nodeName
等于“UNITPRICE”的子节点。)
寻找节点的内容比较棘手,因为IE和FF支持不同的方法:
priceStr = priceStr.textContent || priceNode.innerText;
最后,将字符串转换为数字:
price = parseInt(priceStr, 10);
顺便说一下,使用ActiveX构建XML文档的方式是IE特定的。你一定要考虑使用某种Javascript库(比如Jquery或Dojo)来平滑这个和其他东西。