3

プログラムxmllint(Bashシェルスクリプト内で使用)で使用するXPath引数を作成しようとしています。この引数は、タグ内で使用可能なタグのリストを返します(サブタグはリストしません)。

これが私が持っているXMLの種類です:

<functionInformation>
    <class>
        setup
    </class>
    <description>
        This is a natural language description of this function.
    </description>
    <prerequisiteFunctions>
        myFunction1
        myFunction2
    </prerequisiteFunctions>
    <prerequisitePrograms>
        myProgram1
        myProgram2
    </prerequisitePrograms>
</functionInformation>

このXMLは、Bash変数functionInformationに格納されます。

このXMLでxmllintを使用するときに必要な出力は次のとおりです。

class
description
prerequisiteFunctions
prerequisitePrograms

タグを非再帰的に返すようにしたいことに注意してください(使用可能なすべてのタグまたはサブタグをリストしたくない)。

次のような方法でxmllintを使用してタグ内の情報にアクセスできます。

descriptionFunctionInformation="$(echo "${functionInformation}"\
                | xmllint --xpath '/functionInformation/description/text()' -\
                | xargs -i echo -n "{}")"

必要な情報を返すためにXPath(または同様のもの)を構築する方法について正しい方向を示していただけますか?

4

1 に答える 1

1

あなたが使用することができますxmlstarlet

xmlstarlet sel -t -m '/*/*' -v 'concat(name(.)," ")' < xmlfile
于 2013-02-08T21:12:22.960 に答える