有人可以找到这段代码有什么问题吗?无论我选择哪种XPath,它总是返回o节点

DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
domFactory.setIgnoringComments(true);
domFactory.setIgnoringElementContentWhitespace(true);

DocumentBuilder builder = domFactory.newDocumentBuilder();
Document dDoc = builder.parse("P:/MyBooks.xml");
NodeList myNodes = (NodeList) xpath.evaluate("//Title", dDoc, XPathConstants.NODESET);
System.out.println(myNodes.getLength());


MyBookx.xml是:

<?xml version="1.0" encoding="UTF-8"?>
<Books>
   <Title attrib="title1"/>
   <Title attrib="title2"/>
   <Title attrib="title3"/>
</Books>

最佳答案

我犯了一个大错误。我在docFactory中设置NamespaceAware(true)时,我的xml文档正在使用默认名称空间。所以我设置了NamespaceAware(false)并解决了我的问题

10-08 17:26