2012-03-25 76 views
0

我已經在互聯網上搜索了很多關於這方面的內容,但是我仍然努力得到以下簡單的代碼工作。有人可以幫我一把嗎?Android XML XPath錯誤

目標平臺是Android 2.2。

評估時,返回1個節點,但值爲空 - 我想要文件名。

XML閱讀代碼:

public String GetValue(String data, String xpath) { 

    String value = ""; 

    XPath path = XPathFactory.newInstance().newXPath(); 

    try { 

     XPathExpression exp = path.compile(xpath); 

     Document doc = this.GetDocument(data); 
     NodeList nodes = (NodeList)exp.evaluate(doc, XPathConstants.NODESET); 

     if(nodes.getLength() > 0) { 

      value = nodes.item(0).getNodeValue(); 
     } 
    } catch (XPathExpressionException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    return value; 
} 

長途區號:

XMLHelper xhelp = new XMLHelper(); 
this.FileName = xhelp.GetValue(fileData, "tilesheet/filename"); 

的XML:

<?xml version="1.0" encoding="utf-8"?> 
<tilesheet> 
    <filename>sheet.png</filename> 
    <cellwidth>32</cellwidth> 
    <cellheight>32</cellheight> 
    <columns>9</columns> 
    <cellcount>9</cellcount> 
</tilesheet> 

非常感謝您的幫助,

理查德·休斯

+0

你在哪裏指定一個XPath表達式? – kdgregory 2012-03-25 13:46:33

+0

在調用代碼:tilesheet /文件名 – rhughes 2012-03-25 13:48:46

+1

我的錯誤,我沒有仔細閱讀。我只是檢查了文檔,並且元素的節點值被定義爲'null'。我建議使用'STRING'返回類型,並將XPath更改爲'tilesheet/filename [1]' – kdgregory 2012-03-25 13:58:23

回答