Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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更改XML数据的值_Javascript_Node.js_Xml - Fatal编程技术网

Javascript 使用节点JS更改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

我有一个如下所示的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</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');