您好我正在尝试解析本地xml文件(具有数据库表信息)并最终将信息存储在SQLite DB中。它存储在我在res下创建的原始文件夹中。
但我不知道如何使用SAX解析器打开它和Parse。通过不同的教程,但没有工作。
如果有人可以指导我它的伟大。谢谢
答案 0 :(得分:0)
您可以使用openRawResource(getResources().openRawResource(R.id.{resourcename})
)获取InputStream。然后,您可以将该InputStream传递给SAX解析器,就像它是常规文件一样。
答案 1 :(得分:0)
我在Android上为XML数据创建了一个XML解析器,它位于字节数组中,如下所示:
创建一个扩展DefaultHandler的类。
在此类中创建类似于以下内容的方法:
public void ParseXMLByteArray(byte[] xmlData, int len)
{
SAXParserFactory spf = SAXParserFactory.newInstance();
try
{
// Create a SAX parser
SAXParser mySP = spf.newSAXParser();
// Get an XML reader from the parser
XMLReader myXR = mySP.getXMLReader();
// Tell the reader this class will supply content callbacks
myXR.setContentHandler(this);
// Kick off the parse operation
// You will get ContentHandler callbacks via DefaultHandler overrides
myXR.parse(new InputSource(new ByteArrayInputStream(xmlData, 0, len)));
}
catch ( Exception excp )
{
// Handle exceptions
}
}
您当然希望将输入源作为本地文件。 DefaultHandler覆盖将处理元素并将它们添加到数据库中。