Xpath返回空元素对象

| 我有一个XML文档作为没有任何名称空间的字符串,我想使用Java,JDOM和XPath解析它,并创建一个对象树。由于XPAth始终需要查询前缀和名称空间,因此我在根目录中添加了名称空间和前缀,然后在要获取的节点中添加了前缀,但是我看到Xpath在文档的每个节点中都需要一个名称空间,但仅在根目录中。 因此,一开始有一种方法可以将名称空间添加到文档对象中的所有元素,以便我的xpath查询可以正常工作? 代码中还应该有其他错误和错误的处理方法。任何想法都会很高兴。
String response=\"myXmlString\"
ByteArrayInputStream stream = new ByteArrayInputStream(
            response.getBytes());
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(stream);
org.jdom.Element request=(org.jdom.Element) doc.getRootElement();   
request.setNamespace(Namespace.getNamespace(\"myNamespace\"));

createRequest(request);
然后
public Request createRequest(Element requestXML) {              
Request request = new Request();
requestXML.detach();
Document doc = new Document(requestXML);
XPath xpath = XPath.newInstance(myExpression);
xpath.addNamespace(\"m\", doc.getRootElement().getNamespaceURI());

xpath.selectSingleNode(doc);
} 最后一行返回空值,它不为null,但在其中抛出jdom异常。     
已邀请:
XPath和XML不需要名称空间。返回原始XML并删除代码中的任何名称空间/前缀黑客。     

要回复问题请先登录注册