我正在尝试在此 XML 中获取此值 B006PF20EI
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2011-08-01">
<OperationRequest>...</OperationRequest>
<Items>
<Request>...</Request>
<TotalResults>8</TotalResults>
<TotalPages>1</TotalPages>
<MoreSearchResultsUrl>...</MoreSearchResultsUrl>
<Item>
<ASIN>B006PF20EI</ASIN>
我像这样使用 XPath
public String parseXml(String xmlString){
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document dDoc = builder.parse(new InputSource(new StringReader(xmlString)));
XPath xPath = XPathFactory.newInstance().newXPath();
//Node node = (Node) xPath.evaluate("/Items/Item/ASIN", dDoc, XPathConstants.NODE);
//System.out.println(node.getNodeValue());
String value = xPath.evaluate("/ItemSearchResponse/resp/status", dDoc);
return value;
} catch (Exception e) {
Log.e("MYAPP", "exception", e);
return null;
}
}
但看起来该方法只是返回一个空字符串
最佳答案
使用好的路径:
/ItemSearchResponse/Items/Item/ASIN
关于java - 使用 XPath 解析 xml 以获取单个值返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379613/