我有解析xml文件並執行命令的python腳本。我想讓我的xml
讀取另一個xml文件並對其進行編輯。爲此我使用perl命令在xml中轉義xml標籤
"perl -pi -0777 -e '[email protected]<en:TagName>.*?</en:TagName>@<en:TagName>new-value</en:TagName>@sg'FileName.xml"
這是我在我的xml文件中添加的,它由shell腳本解析。
<cmd>perl -pi -0777 -e '[email protected]<en:TagName>.*?</en:TagName>@<en:TagName>new-value</en:TagName>@sg'FileName.xml</cmd>
這裏我的python腳本將<en:TagName>
作爲標記,並且無法解析它。所以我加了"perl -pi -0777 -e 's#<en:TagName>.*?<en:TagName>#<en:tagName>new-value</en:TagName>#sg' FileName.xml"
,並且還使用了「#」作爲分隔符(因爲@是我們使用的shell腳本中的特殊字符)
Putting#無法提供期望的結果。而不是取而代之的是在最後添加新的價值。
你可以嘗試把perl的命令'CDATA'標籤。 CDATA標籤內的任何內容都被xml解析器忽略 – RobEarl
@RobEarl:是CDATA標籤起作用。謝謝!! – user1914896