我正在尝试使用xmlstarlet删除xml中元素的值: 我尝试使用xmlstarlet ed -d命令删除该值但它不起作用。 我还尝试使用xmlstarlet ed -u将值123替换为“”(null)。这也不起作用。
有人可以帮我解决这个问题: 输入:
<?xml version="1.0"?>
<List Name="myList">
<Dir Path="abc">123</Dir>
<Dir Path="cde">456</Dir>
<File Path="xyz">789</File>
<File Path="xxx">567</File>
</List>
输出:
<List Name="myList">
<Dir Path="abc"></Dir>
<Dir Path="cde"></Dir>
<File Path="xyz"></File>
<File Path="xxx"></File>
</List>
我想删除值“123”,“456”......
提前致谢
答案 0 :(得分:0)
要删除所有文本节点,请保留元素及其属性:
xmlstarlet ed -d '//text()' <input.xml
...或者,用空字符串替换那些文本节点的内容:
xmlstarlet ed -u '//text()' -v '' <input.xml