如何使用 xml starlet 插入实体

How to insert entities with xml starlet

我正在尝试用包含 & 符号的文本替换属性值。

<property value="My Product&#x0A;Developed by me">

用上面的文本替换给定属性的正确语法是什么?

到目前为止我试过了

xmlStarlet\xml.exe edit --inplace --update "/.../property/@value" --value "My Product&#x0A;Developed by me" myXml.xml

但我最终将 & 替换为 &在那种情况下不打算这样做。

使用xmlstarletunesc命令:

示例 input.xml file/fragment:

<root>
    <property value="empty"></property>
</root>

xmlstarlet ed -u '//property/@value' -v 'My Product&#x0A;Developed by me' input.xml \
| xmlstarlet unesc

输出:

<?xml version="1.0"?>
<root>
  <property value="My Product&#x0A;Developed by me"/>
</root>