在javaandroid中使用xpath提取特定的xml节点

在javaandroid中使用xpath提取特定的xml节点,java,android,xml,xpath,Java,Android,Xml,Xpath,希望有人能提供帮助,我正在尝试使用java中的xpath提取xml数据。我想得到一个特定的元素值。但似乎无法正确理解,下面是我的代码和xml文档 在:System.out.println(“========================================================================================”)之后不打印任何内容 634 12 2670 2016年3月31日12:00:00上午 2018年8月31日上午12:00:00

希望有人能提供帮助,我正在尝试使用java中的xpath提取xml数据。我想得到一个特定的元素值。但似乎无法正确理解,下面是我的代码和xml文档

在:System.out.println(“========================================================================================”)之后不打印任何内容


634
12
2670
2016年3月31日12:00:00上午
2018年8月31日上午12:00:00
1350
00
public void fetchXML()
{
Thread Thread=新线程(new Runnable(){
@凌驾
公开募捐{
//TODO自动生成的方法存根
试一试{
URL=新URL(URL字符串);
HttpURLConnection connect=(HttpURLConnection)url.openConnection();
connect.setReadTimeout(10000);
connect.setConnectTimeout(15000);
connect.setRequestMethod(“GET”);
connect.setDoInput(true);
connect.connect();
InputStream=connect.getInputStream();
DocumentBuilderFactory DocumentBuilderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder DocumentBuilder=documentBuilderFactory.newDocumentBuilder();
Document doc=documentBuilder.parse(流);
doc.getDocumentElement().normalize();
XPath=XPathFactory.newInstance().newXPath();
System.out.println(“=======================================================================================================”);
//System.out.println(“根元素:+doc.getDocumentElement().getTextContent());
//XPathExpression tag=xpath.compile(“/ArrayOfPurchaseEntities/PurchaseEntities/DfirsTinstall”);
字符串xml=(xpath.evaluate(“ArrayOfPurchaseEntities/PurchaseEntities/DfirsTinstall”,doc.getDocumentElement().getTextContent());
System.out.println(xml);
stream.close();
}
捕获(格式错误){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(SAXE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(ParserConfiguration异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(XPathExpressionException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
});
thread.start();
}

在xml文件中的xsi属性之后添加名称空间属性
xmlns=“ns”
,然后尝试以下操作

改变

"ArrayOfPurchaseEntitites/PurchaseEntitites/dFirstInstalment"


在xml文件中的xsi属性之后添加名称空间属性
xmlns=“ns”
,然后尝试以下操作

改变

"ArrayOfPurchaseEntitites/PurchaseEntitites/dFirstInstalment"


将XML发布为文本,而不是图片。我建议在将XPath合并到android代码之前,先在XPathTester online(f.e)中使用XPath来获得正确的XPath表达式,然后将XML作为文本而不是图片显示。我建议在XPathTester online(f.e)中使用XPath来获得正确的XPath表达式,在将XPath合并到android代码中之前,是否有其他选择,因为xml来自第三方web服务,不是由我生成的。附近有工作吗?谢谢你的帮助。如果是这样,-“xmlns:xsi=“ns“>感谢您的评论,因为xml来自第三方web服务,而不是由我生成,是否有其他选择。附近有工作吗?谢谢你的帮助。如果是这样,-“xmlns:xsi=“ns”>
"/ns:ArrayOfPurchaseEntitites/ns:PurchaseEntitites/ns:dFirstInstalment"