Javascript 使用节点JS更改XML数据的值
我有一个如下所示的XML文档:Javascript 使用节点JS更改XML数据的值,javascript,node.js,xml,Javascript,Node.js,Xml,我有一个如下所示的XML文档: <Data id="1401" href="http://222222222"> <definition id="12218" href="http://11"></definition> <Data-List count="1"> <DataStep type="3"> <completed_time>07/04/2017 17:18:11</comple
<Data id="1401" href="http://222222222">
<definition id="12218" href="http://11"></definition>
<Data-List count="1">
<DataStep type="3">
<completed_time>07/04/2017 17:18:11</completed_time>
<status>3</status>
</DataStep>
</Data-List>
<information>abcdefg</information>
</Data>
<Data id="1401" href="http://222222222">
<definition id="12218" href="http://11"></definition>
<Data-List count="1">
<DataStep type="3">
<completed_time>07/04/2017 17:18:11</completed_time>
<status>3</status>
</DataStep>
</Data-List>
<information>example</information>
</Data>
是否可以直接在节点JS中执行此操作,而无需将此XML更改为json,对其进行修改,然后再转换回XML?我尝试过这个方法,但是它似乎不起作用,在XML转换中创建了奇怪的数组和“$”
有什么建议吗?1)您可以像解析普通字符串一样解析xml文档,找到带有正则表达式的信息标记并对其进行更改。xml = xml.replace(/<information>[a-z0-9_-]*<\/information\>/, '<information>example</information>');
我会用cherriojs
这是jQuery的nodejs实现,因此DOM操作很容易。在文件的顶部,需要设置xmlMode:true
var $ = cheerio.load(your-xml-doc, {
xmlMode: true
});
然后你可以用
$('information').text('example');
您是解析XML还是将文件读取为字符串,并尝试用
示例
替换abcdefg
?将其读取为字符串-但是abcdefg和示例每次都会更改使用类似于解析XML的内容,然后进行修改easily@ArpitSolanki但我需要将其转换回XML,这就是上面所描述的事情出错的地方,它赢了';不要出错。如果它可以将其转换为json,那么它就可以将json转换回XML。我如何使用正则表达式来修改它?我是一个编程新手,所以这对我来说意义不大me@angels一些代码片段或示例将非常适合作为完整的答案我不使用JQuery吗?我使用Node JSYou npm install cherrio,然后在文件顶部需要它。然后,所有来自jQuery的DOM方法都可以在nodejs中使用。这是最简单的方法,只需查看链接中的文档即可。他们写得很好。是为啦啦队借调的。这是我快速处理XML的目标。
$('information').text('example');