0

假设我的资产中有一个包含此类数据的 XML 文件

<mods day="30" month="8" year="2012">
        <mod id="1" name="1a">Hello123</mod>
        <mod id="2" name="2a">Hello123</mod>
        <mod id="3" name="3a">Hello123</mod>
    </mods>

<mods day="31" month="8" year="2012">
        <mod id="1" name="1a">Hello123</mod>
        <mod id="2" name="2a">Hello123</mod>
        <mod id="3" name="3a">Hello123</mod>
    </mods>

我需要通过输入日、月、年和id来找到某个“mod”参数。

这是我走了多远。

c.setTime(new Date());

String y = sdy.format(c.getTime());
String m = sdm.format(c.getTime());
String d = sdd.format(c.getTime());


InputStream istr = this.getAssets().open("mods.xml");
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
factory.setNamespaceAware(true); 
XmlPullParser xrp;
xrp = factory.newPullParser();
xrp.setInput(istr, "UTF-8");  

// not sure what to do next...

如果我做对了,现在我需要用我需要的参数以某种方式查询这个 xrp,对吗?

谢谢!

4

1 回答 1

4

将 XML 作为 XML 资源放入res/xml/,而不是放入assets/,它的解析速度将提高 10 倍,这得益于针对 XML 资源的优化。因此,我建议在资产中使用 XML 资源而不是 XML。您可以看到这个 CommonsWare示例项目,他使用 XMLPullParser 来解析 xml 资源。

于 2012-08-06T12:48:37.480 回答