私はすべての<media:content/>
要素のurl
属性のリストを取得する必要があります。名前空間で同じタグ名のすべての要素を取得する方法は?
これは私のXMLです:
<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/'>
<channel>
<item>
<media:group>
<media:content url='https://valor'/>
</media:group>
</item>
<item>
<media:group>
<media:content url='https://valor'/>
</media:group>
</item>
</channel>
</rss>
私はまた
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(inputStream);
NodeList contents = doc.getElementsByTagNameNS("http://search.yahoo.com/mrss/", "content");
これを試みたが、contents.getLength()
0を返す要素
contents.getLength()
は0要素を返します
XPathFactory factory2 = XPathFactory.newInstance();
XPath xpath = factory2.newXPath();
// XPathExpression expr = xpath.compile("//content");
XPathExpression expr = xpath.compile("//*[name()='content']");
NodeList contents = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
提案?
名前空間の認識が有効になっていないと、デフォルトの動作があるため、あなたのxpathが機能するはずです... –