Android的解析与SAXParser的一个xml [英] Android parsing an xml with saxparser

查看:139
本文介绍了Android的解析与SAXParser的一个xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图解析在Android上的XML文件withSaxParser。

I am trying to parse an xml file withSaxParser on Android.

这是我的xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<cars>
    <car model="CitroenC3">
        <maintenances>
            <xm:maintenance xmlns:xm="it.a.b.android.c.car.m" distance="" price="">
                <xm:type></xm:type>
            </xm:maintenance>
        </maintenances>
        <chargings>
            <xc:charging xmlns:xc="it.a.b.c.fuelconsumption.car.m" quantity="18" price="20" distance="400" consumption="14"/>
        </chargings>
    </car>
</cars>

这是code:

And this is the code:

// Handling XML 
    SAXParserFactory spf = SAXParserFactory.newInstance();
    SAXParser sp = spf.newSAXParser();
    XMLReader xr = sp.getXMLReader();

    XmlResourceParser parser = getResources().getXml(R.xml.data);

    // Create handler to handle XML Tags ( extends DefaultHandler ) 
    DataSaxHandler myXMLHandler = new DataSaxHandler();
    xr.setContentHandler(myXMLHandler);
    InputStream is= getResources().openRawResource(R.xml.data);
    xr.parse(new InputSource(is));

xr.parse后,我有例外:

After xr.parse I have the Exception:

03-22 15:24:04.248:信息/的System.out(415):XML帕兴Excpetion =

03-22 15:24:04.248: INFO/System.out(415): XML Pasing Excpetion =

org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: not well-formed (invalid token)

这可能是错的? 非常感谢。

What may be wrong? Thanks a lot.

推荐答案

AFAIR,任何XML在 RES / 文件夹中的文件之前,它被放置在apk文件进行编译。 试试你的XML文件移动到资产/ 文件夹,并从那里加载它:

AFAIR, any xml file under res/ folder is compiled before it's placed in .apk. Try to move your XML-file to assets/ folder and load it from there:

xr.parse(new InputSource(getAssets().open("data.xml")));

这篇关于Android的解析与SAXParser的一个xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆