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异常。
没有找到相关结果
已邀请:
1 个回复
橙绥