saxparserを使用してXMLを解析するAndroid
-
28-10-2019 - |
質問
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ペーシングExcpiont =
org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: not well-formed (invalid token)
何が間違っているのでしょうか?どうもありがとう。
解決
Afair、下のxmlファイル res/
フォルダーは.apkに配置される前にコンパイルされます。 XML-Fileを移動してみてください assets/
フォルダーとそこからロードします:
xr.parse(new InputSource(getAssets().open("data.xml")));
所属していません StackOverflow