在android studio中从XML获取数据

时间:2015-06-06 06:50:35

标签: android xml xml-parsing

我的目标是访问xml文件并获取xml文件中的No present。 我想从我的xml访问数据,这是在本地存储,但我无法访问在xpath获取错误的值.Kindly帮助我

xml文件:

<?xml version="1.0" encoding="utf-8"?>
<Sample>
<Sample1>
    <NO>257</LastPage>
</sample1>
<Sample2>
    <NO>257</LastPage>
</sample2>
</Sample>

班级档案:

AssetManager manager = getAssets();
        InputStream inputStream = manager.open("PageDetails.xml");
        DocumentBuilderFactory builderFactory = 
 DocumentBuilderFactory.newInstance();
        DocumentBuilder builder =  builderFactory.newDocumentBuilder();
        Document xmlDocument = builder.parse(inputStream);

        XPath xPath =  XPathFactory.newInstance().newXPath();
        String expression = "/Bhajans/"+bookPath;
        Node lastpageNO = (Node) xPath.evaluate(expression, xmlDocument,  
 XPathConstants.NODE);
        Log.d("Displaying page No:","number"+lastpageNO);

错误:

06-06 12:10:04.119  30072-30072/com.com.sample.samples W/System.err﹕ javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: Extra illegal tokens: '5'
06-06 12:10:04.119  30072-30072/com.com.sample.samples W/System.err﹕ at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:295)

1 个答案:

答案 0 :(得分:1)

您需要按照本教程的建议创建xml解析器 xml parser android

另外你可以在android文件夹结构的xml目录下创建xml文件。 xml目录将与res文件夹并行。您需要手动创建此文件。然后你可以超过R&gt; xl.yourfile或你的常数。 你粘贴的xml有语法错误。

正确的xml应该是:

<Sample>
<Sample1>
    <NO>257</No>
</sample1>
<Sample2>
    <NO>257</No>
</sample2>
</Sample>