Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从资产中解析XML?_Java_Android - Fatal编程技术网

Java 如何从资产中解析XML?

Java 如何从资产中解析XML?,java,android,Java,Android,假设我的资产中有一个包含此类数据的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> </mod

假设我的资产中有一个包含此类数据的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>
如果我做对了,现在我需要用我需要的参数来查询这个xrp,对吗


谢谢

将XML作为XML资源放在
res/XML/
中,而不是放在
assets/
中,由于对XML资源进行了优化,它的解析速度将提高10倍。因此,我建议在资产中使用XML资源而不是XML。您可以看到这个公共软件,他使用XMLPullParser来解析xml资源。

将xml作为xml资源放在
res/xml/
中,而不是放在
assets/
中,由于对xml资源进行了适当的优化,它将解析速度提高10倍。因此,我建议在资产中使用XML资源而不是XML。你可以看到这个公共软件,他使用XMLPullParser解析xml资源。

也许这个主题可以帮助你:[xml解析Java(Android)][1][1]:也许这个主题可以帮助你:[xml解析Java(Android)][1][1]:也可以作为这个答案的补充:如果你的目标设备API>=8,它更容易使用,也可以作为这个答案的补充:如果您针对的是API>=8的设备,那么它更容易使用
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...