我正在尝试用包含&符号的文本替换属性值。
<property value="My Product
Developed by me">
用上面的文字替换给定属性的正确语法是什么?
到目前为止,我试过
xmlStarlet\xml.exe edit --inplace --update "/.../property/@value" --value "My Product
Developed by me" myXml.xml
但我最终得到了&amp;被&amp; amp;取代这不是那种情况。
答案 0 :(得分:2)
使用 xmlstarlet
的unesc
命令:
示例input.xml
文件/片段:
<root>
<property value="empty"></property>
</root>
xmlstarlet ed -u '//property/@value' -v 'My Product
Developed by me' input.xml \
| xmlstarlet unesc
输出:
<?xml version="1.0"?>
<root>
<property value="My Product
Developed by me"/>
</root>