gpt4 book ai didi

xml - 根据树中另一个元素的值更改 XML 元素的值

转载 作者:数据小太阳 更新时间:2023-10-29 01:49:19 25 4
gpt4 key购买 nike

我有一个非常大(未压缩超过 100 兆字节)的 XML 文件存储数据集,我正在尝试有选择地更改一些值。

例如,说 sample.xml看起来像这样:

<objects>
<object>
<name>Foo</name>
<constant1>10</constant1>
<constant2>20</constant2>
</object>
<object>
<name>Bar</name>
<constant1>15</constant1>
<constant2>40</constant2>
</object>
<objects>

现在我想改变<constant1>的值到 18,但对于 Name 的对象元素有值 Foo .我一直在研究 XML Starlet 文档,但它的 article on editing只有关于如何直接在树中查找元素属性的示例,除非我遗漏了什么...

最佳答案

...显然我是个白痴;如 this answer 中所示您可以像搜索属性值一样搜索元素值,因此正确的命令是:

xmlstarlet ed -u '//object[name="Foo"]/const1' -v 18 sample.xml

...另外,在处理非常大的文件时要注意:如果没有输出重定向,xmlstarlet 会打印到标准输出。所有 100 多兆字节的 xml。糟糕。

关于xml - 根据树中另一个元素的值更改 XML 元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15970874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com