1

XML ドキュメントをロードし、xpath を使用して「CodeList」という名前のすべてのノードを検索しようとしています。何らかの理由で、xpath 式//CodeListは 0 ノードを提供しますが、xpath 式/.//CodeListは正しく識別されたノードのリストを提供します。インターネット上のさまざまなチュートリアルを読む//CodeListことは、私が望むことを行うための正しい構文である必要があります。

なぜこれが起こっているのかはわかりません。xpath 式は、ドキュメントと思われる同じノード./.返します (getNodeName は「#document」を返します)。

私のクラスパスのライブラリが問題の原因である可能性があると誰かが示唆しました。

これまでのところ、依存関係にある XML 関連のライブラリは次のとおりです。

  • xmlbeans-2.3.0
  • xml-apis-1.3.04
  • xalan-2.7.1
  • xercesImpl-2.9.1
4

2 に答える 2

1

/CodeList/.//CodeListどちらもまったく同じ結果を返すはずです。そうでない場合、それはバグです。どちらも、名前空間なしですべての CodeList 要素を返す必要があります。要素がすべて (既定の) 名前空間にある場合、両方の式は何も返さないはずです。

于 2012-07-29T12:51:48.723 に答える
0

試す

"//CodeList/*/text()"

そして、すべての子ノードが行になります

于 2012-07-28T15:30:54.443 に答える