1/ OP のコメントで JP が理解したように、2 番目のノードがprice
正しく閉じられていません。
selectNodes()
メソッドは XPath セレクター (構文、チュートリアル) を使用していますね。
2/ Dimitreが言ったように、XPath は大文字と小文字を区別するため、実際の要素がand/Book/Price
の場合は無効です。である必要があります。book
price
/book/price
ただし、最初のprice
ノードが返された場合、セレクターが実際には小文字である可能性が最も高く、適切に閉じられていない 2 番目のノードに/book/price
問題がある可能性があります。price
3/book
最後に、それが本当にXMLのルートノードであると確信していますか? bookstore
親とかいないの?
セレクターにフォームがある場合/book/price
(最初はスラッシュが 1 つだけ)、それは絶対パスであり、実際にprice
選択された要素のすべての要素を選択する必要がありますが、与えられたのは(非常に単一の)ルート ノード (他にはありません) のみです。 1 つのドキュメントに複数のルートを含めることはできず、親をまったく持つことはできないため、明らかにドキュメントに含まれています)。book
book
book
これを試して:
book/price
ドキュメントのすべてのノードのprice
すべてのノードを返す必要がありますbook
price
price
ドキュメント全体の親ノードが何であれ、すべてのノードを返す必要があります
bookstore
またはのような別のルートがあり、絶対パスlibrary
を使用したい場合は、次を試してください。
/bookstore/book/price
(または/library/book/price
、または実際のルートノードが何であれ)
また、 XML ツリーのどこにいるかに応じて、そのようなものを使用してノードに相対的にアクセスすることもできます。