Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用节点js中的xpath.js解析XML_Javascript_Node.js_Xml_Xpath - Fatal编程技术网

Javascript 使用节点js中的xpath.js解析XML

Javascript 使用节点js中的xpath.js解析XML,javascript,node.js,xml,xpath,Javascript,Node.js,Xml,Xpath,我的XML如下所示: <ns2:OrderList> <order order_id="123" item_name="123"/> <order order_id="234" item_name="1233"/> <order order_id="2357" item_name="1234"/> ...... </ns2:OrderList> ...... 我想用这个。 如何获取具有“order\u id”值的数

我的XML如下所示:

<ns2:OrderList>
  <order order_id="123" item_name="123"/>
  <order order_id="234" item_name="1233"/>
  <order order_id="2357" item_name="1234"/>
  ......
</ns2:OrderList>

......
我想用这个。
如何获取具有“order\u id”值的数组???

var select=require('xpath.js'))
var select = require('xpath.js')
    , dom = require('xmldom').DOMParser

var xml = `<ns2:OrderList>
            <order order_id="123" item_name="123"/>
            <order order_id="234" item_name="1233"/>
            <order order_id="2357" item_name="1234"/>
           </ns2:OrderList>`;


var doc = new dom().parseFromString(xml);    
var nodes = select(doc, "//order/@order_id");
var orderIds = [];
nodes.forEach(function(node) {
    orderIds.push(node.nodeValue);
});

console.log(orderIds);
,dom=require('xmldom')。DOMParser 变量xml=` `; var doc=new dom().parseFromString(xml); var nodes=select(doc,“//order/@order_id”); var orderIds=[]; forEach(函数(节点){ push(node.nodeValue); }); 日志(orderIds);
如果您想使用xpath.js,类似这样的东西应该可以解决问题(不过您也需要xmldom进行解析)

constdom=require('xmldom').DOMParser;
const select=require('xpath.js');
常量xml='、';
const doc=new Dom().parseFromString(xml);
const nodes=select(doc,//order');
const orderIds=nodes.map((node)=>node.getAttribute('order_id');
日志(orderIds);

您可能知道如何使用jQuery。考虑使用GRAIO
const Dom = require('xmldom').DOMParser;
const select = require('xpath.js');
const xml = '<ns2:OrderList> <order order_id="123" item_name="123"/> <order order_id="234" item_name="1233"/> <order order_id="2357" item_name="1234"/> </ns2:OrderList>¬';
const doc = new Dom().parseFromString(xml);
const nodes = select(doc, '//order');

const orderIds = nodes.map((node) => node.getAttribute('order_id'));
console.log(orderIds);