2012-03-25 8 views
0

私はこれについてかなりインターネットを検索しましたが、次の単純なコードが動作するようにはまだ苦労しています。誰も私に手を差し伸べることはできますか?Android XML XPathエラー

ターゲットプラットフォームはAndroid 2.2です。

評価すると、1ノードが返されますが、値はnullです - ファイル名が必要です。

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

+0

呼び出しコード:tilesheet/filename – rhughes

+1

私の間違いで、私は十分に注意深く読んでいませんでした。私はドキュメントをチェックしたところ、Elementのノード値は 'null 'と定義されています。 'STRING'の戻り値の型を使用し、XPathを' tilesheet/filename [1] ' – kdgregory

答えて