34

XPATH を使用して要素を選択した場合、その名前を取得するにはどうすればよいですか? 関数の
ようなものを意味します。text()//element/[@id=elid]/text()

4

2 に答える 2

65

を使用しname()ます。(XPath 言語の新しいバージョンのドキュメントは、こちらで検索してください。)

あなたの例の修正版は次のとおりです。

XPath 2.0 でのみ機能します。

//element/*[@id='elid']/name()

XPath 1.0 および 2.0 で動作します。

name(//element/*[@id='elid'])

展開された名前local-name()のローカル部分を返す which を使用することもできます (名前空間プレフィックスなし)。

于 2011-11-02T17:16:41.650 に答える
2

タグ名ツリーは次のコマンドでも取得できます

echo "du //Element/*" | xmllint --shell response-02.xml
Ele1
    id
    name
    Nested1
        id
        name
Ele2
于 2015-06-26T15:05:26.827 に答える