メイン コンテンツをスキップする 補完的コンテンツへスキップ

XMLネームスペースの問題

このセクションでは、ネームスペースが含まれているXMLドキュメントでXPath式を使用する場合に発生しうる問題について説明します。 ネームスペースの詳細は、XML namespaceNamespaces in XMLをご覧ください。

説明

現在のところ、XPath式はXMLドキュメントにネームスペースがない時に期待どおりに動作します。ただし、(デフォルトのものも含めて)ネームスペースが含まれているドキュメントでは、XPath式が予期しない結果を返すことがあります。

たとえば以下のXMLドキュメントの場合、/a//c//c/@nameという式はどれも空の配列を返します:
<a xmlns="http://www.w3.org/2000/example">
  <b>
    <c name="name1"/>
  </b>
</a>

対処方法

この問題を回避するためには、ネームスペースを無視してタグを取得するXPath式を使用します。上の例では、/*[name()='a']//*[name()='c']//*[name()='c']/@nameを使用できます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。