0
XMLStarletを使用して、次のXMLファイルのノード "title"の値を編集します。属性名= "de-DE"のロケールの子ノードであるタイトルノードのみを編集する必要があります。XMLStarlet:特定の属性値を持つノードを編集する
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://apple.com/itunes/importer" version="software5.4">
<software>
<software_metadata app_platform="ios">
<versions>
<version string="1.1.1">
<locales>
<locale name="de-DE">
<title>title_DE</title>
</locale>
<locale name="en-US">
<title>title_EN</title>
</locale>
</locales>
</version>
</versions>
</software_metadata>
</software>
</package>
私は、次のコマンドを試してみましたが、それは何もしません:
xml ed -N x="http://apple.com/itunes/importer" -u '/x:package/x:software/x:software_metadata/x:versions/x:version/x:locales/x:locale[@name='de-DE']/x:title' -v 'new titel' metadata.xml
細かい作品を選択するための同じXPathクエリを使用する:
xml sel -N x="http://apple.com/itunes/importer" -t -v "/x:package/x:software/x:software_metadata/x:versions/x:version/x:locales/x:locale[@name='de-DE']/x:title" metadata.xml
選択が動作している理由を誰もが知っていますが、編集はできませんか?
これは機能します。ありがとう。 – Apfelsaft