gpt4 book ai didi

xml - 如何在xml中的值之前添加文本?

转载 作者:数据小太阳 更新时间:2023-10-29 02:21:55 26 4
gpt4 key购买 nike

这是我的 test.xml 文件:

<?xml version="1.0"?>
<path>
<dir name="directory">
<file name="file1"/>
<file name="file2"/>
</dir>
</path>

现在我可以在值后添加一些文本:

xmlstarlet ed -s "//file[@name]/@name" -t text -n "@name" -v "_copy_" test.xml

结果:


<file name="file1_copy_"/>
<file name="file2_copy_"/>

如何在值之前添加文本?​​


<file name="_copy_file1"/>
<file name="_copy_file2"/>

最佳答案

根据命令行帮助,用xmlstarlet ed ,您可以使用更新 -u选项并包括替换 XPath 表达式 -x :

<strong>xmlstarlet ed -u</strong> <em><xpath></em> <strong>-x</strong> <em><xpath></em>

在替换表达式中,您可以使用 XPath concat()函数生成将替换属性的字符串。表达式 concat('_copy_',.)将连接字符串 '_copy_' 当前节点 之前,这是您选择的属性。你的表达应该是:

 xmlstarlet ed -u "//file[@name]/@name" -x "concat('_copy_',.)" test.xml

关于xml - 如何在xml中的值之前添加文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24334602/

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