gpt4 book ai didi

android - 我怎样才能在android中做SAX解析方法?

转载 作者:行者123 更新时间:2023-11-29 22:30:21 25 4
gpt4 key购买 nike

我正在 android 中实现 XML 解析。谁能告诉我必须做什么才能在我的应用程序中实现 SAX 解析方法?

最佳答案

也许您还可以试试 Android 自己的 SAX 解析器。我试过使用它并且效果很好。这也基于来自 IBM 站点的示例代码。

public class ParseXML {

private URL feedUrl;

public ParseXML(String urlSource){
try {
this.feedUrl = new URL(urlSource);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}


protected InputStream getInputStream() {
try {
return feedUrl.openConnection().getInputStream();
} catch (IOException e) {
throw new RuntimeException(e);
}
}


public YourDataContainer parse(){
YourDataContainer container = new YourDataContainer();

RootElement root = new RootElement("root");

Element firstChild = root.getChild("element1");
firstChild.getChild("entry1").setEndTextElementListener(new EndTextElementListener() {

public void end(String body) {
container.setFirstEntry(body);
}
});
firstChild.getChild("entry2").setEndTextElementListener(new EndTextElementListener() {

public void end(String body) {
container.setSecondEntry(body);
}
});


try {
Xml.parse(this.getInputStream(), Xml.Encoding.ISO_8859_1, root.getContentHandler());
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
return container;
}

YourContainer 包含您要保存的值以及 getter 和 setter 的字段。

这将解析如下内容:

<root>
<element1>
<entry1>this is</entry1>
<entry2>a test</entry2>
</element1>
</root>

在运行结束时,YourContainer 将具有 firstEntry="this is"和 secondEntry="a test"。

关于android - 我怎样才能在android中做SAX解析方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4253082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com