Android 使用 saxparser 解析 xml

2024-03-07

我正在尝试在 Android 上使用 SaxParser 解析 xml 文件。

这是我的 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>

这是代码:

// 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 之后我有异常:

03-22 15:24:04.248: INFO/System.out(415): XML 解析异常 =

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

可能出了什么问题? 多谢。


AFAIR,下面的任何 xml 文件res/文件夹在放入 .apk 之前进行编译。 尝试将您的 XML 文件移动到assets/文件夹并从那里加载它:

xr.parse(new InputSource(getAssets().open("data.xml")));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 使用 saxparser 解析 xml 的相关文章

随机推荐