Java 从具有命名空间的xpath获取XML值
要明确的是,我的xml及其XPath是动态的,任何东西都可能出现,所以没有硬编码的值来解析XPath中的xml值。下面是我的XML和XPath构造Java 从具有命名空间的xpath获取XML值,java,xml,xpath,Java,Xml,Xpath,要明确的是,我的xml及其XPath是动态的,任何东西都可能出现,所以没有硬编码的值来解析XPath中的xml值。下面是我的XML和XPath构造 String xml = "<soapenv:Envelope xmlns:com=\"http://com\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><soapenv:Header/><soapenv:Body><com:ad
String xml = "<soapenv:Envelope xmlns:com=\"http://com\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><soapenv:Header/><soapenv:Body><com:addition><com:a>1</com:a><com:b>1</com:b></com:addition></soapenv:Body></soapenv:Envelope>";
Document doc = UtilityFunction.createXMLDocument(xml);
System.out.println("Value "+XPathFactory.newInstance().newXPath().compile("//soapenv:Envelope[1]/soapenv:Body[1]/com:addition[1]/com:a[1]").evaluate(doc).toString());
stringxml=“11”;
Document doc=UtilityFunction.createXMLDocument(xml);
System.out.println(“Value”+XPathFactory.newInstance().newXPath().compile(“//soapenv:Envelope[1]/soapenv:Body[1]/com:addition[1]/com:a[1]”)。evaluate(doc.toString());
空的正在打印。如何使用名称空间从xpath获取XML值。如何在编译中启用命名空间。XPathFactory.newXPath()返回一个对象 创建一个对象,将其设置为了解您的命名空间绑定,并在
XPath
对象上调用.setNamespaceContext()
然后编译XPath
并像往常一样调用
(我假设这重复了右侧一些“相关”问题中给出的答案,因此我不打算给出代码示例。这很简单。)是否可能重复XPathFactory所属的库?是JDOM2吗?javax.xml.xpath.XPathFactory工厂