繁体   English   中英

如何使用 xmlstarlet 向 xml 结构添加文本

[英]How to add text to an xml structure using xmlstarlet

我正在尝试使用 xmlstarlet 将文本字段添加到 xml 结构,但无法使其正常工作。 这是我得到的最接近的。

xmlstarlet edit --append "//foo/bar[@baz='qux']" -t text -n grault -v "garply" <<EOF
<foo>
   <bar baz="qux">
     <quux quuz="corge"/>
   </bar>
</foo>
EOF

这导致:

<?xml version="1.0"?>
<foo>
  <bar baz="qux">
    <quux quuz="corge"/>
  </bar>garply
</foo>

虽然我预料到了这一点:

<?xml version="1.0"?>
<foo>
  <bar baz="qux">
    <quux quuz="corge"/>
    <grault>garply</grault>
  </bar>
</foo>

有人可以告诉我我的方式的错误吗?

提前致谢。

我假设您需要一个子节点:

xmlstarlet edit --subnode "//foo/bar" -t elem -n "grault" -v "garply" file.xml

Output:

<?xml version="1.0"?>
<foo>
  <bar baz="qux">
    <quux quuz="corge"/>
    <grault>garply</grault>
  </bar>
</foo>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM