1. ホーム
  2. xml

[解決済み] XPathによる属性の取得

2022-03-14 10:58:31

質問

このようなXML構造があるとします。

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>

<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>

</bookstore>

の値を取得するにはどうしたらよいのでしょうか? lang (ここで langeng を書籍のタイトルに使用する場合)、最初の要素は?

どのように解決するのですか?

<ブロッククオート

どうすれば、langの値(本のタイトルではlang=eng)を得ることができますか? 最初の要素は?

使用する :

/*/book[1]/title/@lang

これはつまり :

を選択します。 lang の子要素である title 要素の属性です。 book の子であり、XML 文書の top 要素の子である。

この属性の文字列値だけを取得するには、標準の XPath 関数を使用します。 string() :

string(/*/book[1]/title/@lang)