0

XML Starlet を使用してプログラムで xml ファイルを編集しています。次の XML ドキュメントがあります。

    <manifest>
            <application>
                    <activity>
                            <intent-filter>
                                   <action/>
                                   <category/>
                            </intent-filter>
                            <intent-filter>
                            </intent-filter>
                    </activity>
            </application>
    </manifest>

2 番目のノードに新しい<action>タグを追加しようとしています。うっかり<intent-filter>最初にノードを作成することなく、どうすればそれを行うことができますか?<intent-filter>

期待される出力:

    <manifest>
            <application>
                    <activity>
                            <intent-filter>
                                   <action/>
                                   <category/>
                            </intent-filter>
                            <intent-filter>
                                   <action/>
                            </intent-filter>
                    </activity>
            </application>
    </manifest>

http://xmlstar.sourceforge.net/doc/xmlstarlet.txtのドキュメントを確認しましたが、この状況の解決策が見当たらないようです。

ありがとう!

4

1 に答える 1

0

考えてみると、私は実際に XPath の問題を抱えていました!

xml ed -s "(/manifest/application/activity/intent-filter)[2]" -t elem -n action -v "" manifest.xml 

ただし、このアクションを達成する別の標準的な方法がある場合は、チャイムを鳴らしてください。

于 2012-12-11T20:59:19.200 に答える