08/02/15 01:49:02
名前空間付きの XML (DOM) に対して:
<foo xmlns:xsi="URLリンク(www.w3.org)"
xmlns="URLリンク(foo-uri)<) foo.xsd">
<bar>...</bar>
…
XPath でノードを参照してみたんですけどノードと一致しません。
NodeList nl = (NodeList)xpath.evaluate("/foo/bar", doc, XPathConstants.NODESET);
// nl.getLength() == 0 になる
XML から名前空間の指定を取り除くと一致するため、検索時にパスの名前空間が考慮されてない
動きだと思うのですが、XPath に名前空間を意識させるにはどうすれば良いでしょうか?
DOM を構築するときにファクトリへ setNamespaceAware(true) は行っています。