在BlackBerry中使用SAX解析器解析XML
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在BlackBerry中使用SAX解析器解析XML相关的知识,希望对你有一定的参考价值。
我正在寻找黑莓中的SAX解析器代码来解析XML文档,检索XML文档并更新XML文档。我是SAX解析器的新手。
我的XML字符串是以下类型:
<users>
<user uid = "1" dispname="Yogesh C" statid="1" statmsg="1">Yogesh Chaudhari</user>
</users>
我必须用SAX解析器解析上面的字符串。
答案
关于这个主题的一系列问题似乎加起来:我是否可以拥有可读/可写数据库的代码,该数据库使用SDCard上的XML格式文件进行存储?
这比我有资格回答的要多,但这里是我在BB上测试XML时使用的示例代码。希望这会让你开始,我可以在你完成后获得数据库代码吗? ;)
public class XmlManager {
protected Document document;
//protected Log log = new Log("XmlManager");
public XmlManager(String file) {
FileConnection fc = null;
InputStream inputStream = null;
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
fc = (FileConnection)Connector.open(file, Connector.READ);
inputStream = fc.openInputStream();
document = builder.parse( inputStream );
} catch (Exception e) {
//log.error("builder.parse", e);
} finally {
try {
if (fc!=null) fc.close();
if (inputStream!=null) inputStream.close();
} catch (Exception e) {
//log.error("close", e);
}
}
}
public String readApiString(String tag) {
Element root=document.getDocumentElement();
NodeList list = root.getElementsByTagName(tag);
return(list.item(0).getFirstChild().getNodeValue());
}
示例xml:
<myuniquetagname>foo</myuniquetagname>
示例用法:
XmlManager xmlManager = new XmlManager("file:///SDCard/BlackBerry/documents/myfile.xml");
String foo = xmlManager.readApiString("myuniquetagname");
以上是关于在BlackBerry中使用SAX解析器解析XML的主要内容,如果未能解决你的问题,请参考以下文章