0
因此,我在這裏有一個XML文件,我想使用XPath從它獲取值。有問題的文件是zip文件中的XML文件,您可以下載here:使用XPath從XML文件獲取特定值
我相信它是有效的XML。
我目前的目標是解析出文檔中的最後(最新)LMP_PRC
值。
我當前的代碼看起來像這樣每次返回一個空字符串:
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr =
xpath.compile("//m:OASISReport/m:MessagePayload/m:RTO/m:REPORT_ITEM[3]/m:REPORT_DATA[/m:DATA_ITEM='LMP_PRC'][last()]/m:VALUE/text()") ;
String result = (String) expr.evaluate(doc, XPathConstants.STRING);
的m:REPORT_ITEM[3]
已經混亂的區域我,所以我已經與幾乎所有數字嘗試過了,有沒有好運。
有了上面的代碼,後面是的System.out.println()我沒有從你發佈的代碼中獲得任何東西。 XPath xpath = factory.newXPath(); XPathExpression expr = xpath.compile(「// m:OASISReport/m:MessagePayload/m:RTO/m:REPORT_ITEM [3]/m:REPORT_DATA [m:DATA_ITEM ='LMP_PRC'] [last()]/m: VALUE/text()「); String result =(String)expr.evaluate(doc,XPathConstants.STRING); System.out.println(「Last value:」+ result); – 2012-08-01 20:09:27
編輯答案以包含名稱空間解析。如果您希望它比我放置的更復雜,請參閱http://www.ibm.com/developerworks/java/library/x-nmspccontext/index.html – davidfmatheson 2012-08-02 12:31:11