如何使用xml starlet插入实体

时间:2018-02-15 14:26:18

标签: xml xmlstarlet

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

<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

但我最终得到了&amp;被&amp; amp;取代这不是那种情况。

1 个答案:

答案 0 :(得分:2)

使用 xmlstarlet unesc命令:

示例input.xml文件/片段:

<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>