【发布时间】:2012-05-27 22:32:54
【问题描述】:
我知道有大量关于此的文档,但我就是不明白。我一直在寻找一段时间,我想就我的具体情况获得一些帮助,以阐明这一点。
我使用了一个 Http 客户端来获取一个 XML 字符串,内容如下:
<groups>
<group>
<id>35</id>
<sport>Racing</sport>
<name>Indianapolis 500</name>
<date>27/4/2012</date>
<time>12:00</time>
<period>PM</period>
<location>Indiana</location>
</group>
<group>
<id>36</id>
<sport>Baseball</sport>
<name>Miami Heat game</name>
<date>27/4/2012</date>
<time>3:00</time>
<period>PM</period>
<location>Miami, FL</location>
</group>
</groups>
我有另一个名为 XMLParser 的类,其方法名为 takeNameGetID,它采用整个 XML 字符串和它在 <name> 中查找的名称字符串,并应尝试找到具有该名称的“块”并返回对应的<id> 为整数。这让我很困惑。
public int takeNamegetID(String name, String allXML) {
//This is what I can't figure out
}
我在第一堂课上这样称呼它:
XMLparser parser = new XMLparser();
int actualId = parser.takeNamegetID(getGroupString(), getGroupXML());
getGroupString() 和 getGroupsXML() 这两种方法是不言自明的。一个获取它正在寻找的字符串作为名称,另一个获取整个 XML。
我需要一个示例或某人来向我展示我想要的 takeNamegetID 方法的实现。我一直在寻找,我认为最好只问我的具体问题。谢谢!
【问题讨论】:
-
Java 中的 XML 解析很冗长,尤其是在 Android 上(第三方解析器可能工作也可能不工作)。期望有人为您编写代码可能有点过分。话虽如此,您可以使用 SAX (exampledepot.com/egs/javax.xml.parsers/BasicSax.html) 或 DOM (exampledepot.com/egs/javax.xml.parsers/BasicDom.html) 或
XmlPullParser(xmlpull.org/v1/download/unpacked/doc/quick_intro.html)。前两个已经使用 Java 很长时间了,并且在许多书籍和博客文章中都有介绍。 -
好的。这就是我为什么遇到这么多麻烦的原因。我只是以为我错过了一些东西,但我想它真的那么复杂。我会用你给我的第一个 SAX 再试一次。它是内置在 Android 或 Java 中的,还是我必须导入一些外部包或其他东西才能使用它?
-
我在评论中引用的所有三个解决方案都内置在 Android 中。
标签: java android xml xml-parsing sax