2011-10-23 19 views
6

में एक स्थान चरण अपेक्षित था" मैं xml फ़ाइल से डेटा खींचने की कोशिश कर रहा हूं लेकिन मुझे यह त्रुटि मिल रही है और मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं।"ट्रांसफॉर्मर अपवाद: एंड्रॉइड एक्सपैथ

10-23 14:20:29.250: WARN/System.err(3541): --------------- linked to ------------------ 
10-23 14:20:29.250: WARN/System.err(3541): javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: A location step was expected following the '/' or '//' token. 

यहाँ मेरी कोड है:

String pill; 

     URL url = new URL("file:///mnt/sdcard/cpdata/cpxml.xml"); 
     InputSource xml = new InputSource(url.openStream()); 
     XPath xpath = XPathFactory.newInstance().newXPath(); 


     pill = xpath.evaluate("//data/monday/p1/",xml); 
     pills.add(pill); 
     Log.d("PILLLLLLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", pill); 
     tv.setText(pill + "hi"); 

और ये मेरे XML दस्तावेज़ है:

-<data> 
    -<monday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
    </monday> 
    -<tuesday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
    </tuesday> 
    -<wednesday> 
    <p1>1.0</p1> 
    <p2>test1</p2> 
</wednesday> 
-<thursday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
</thursday> 
-<friday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
</friday> 
-<saturday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
</saturday> 
-<sunday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
</sunday> 

उत्तर

10

isssue स्पष्ट है:

गोली = xpath.evaluate ("// डेटा/सोमवार/पी 1 /", एक्सएमएल);

XPath अभिव्यक्ति इस्तेमाल किया:

data/monday/p1/ 

"/" के साथ समाप्त होता है और इस तरह वाक्य रचना गैर कानूनी है।

उपयोग:

pill = xpath.evaluate("//data/monday/p1",xml); 
+0

बहुत बहुत शुक्रिया! मुझे पता था कि यह कुछ आसान होना चाहिए, मैं सिर्फ यह नहीं समझ सका। – Peter

+0

@ पीटर: आपका स्वागत है। –

संबंधित मुद्दे