0

我知道有大量关于此的文档,但我就是无法得到它。我一直在寻找一段时间,我想就我的具体情况获得一些帮助,以对此有所了解。

我使用 Http Client 来获取一串 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 字符串和它在 a 中查找的名称字符串,<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 方法的实现。我一直在寻找,我认为最好只问我的具体问题。谢谢!

4

1 回答 1

0

建议你使用SimpleXML(http://simple.sourceforge.net/download.php),我在两个android项目中使用过,体积小,好用。

爪哇代码:

import org.simpleframework.xml.Element;

public class Group {
@Element
private int id;
@Element
private String sport;
@Element
...

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}
...
}


import java.io.File;
import java.util.List;    
import org.simpleframework.xml.*   

public class Groups {
    @ElementList(inline=true)
    private List<Group> group;

    public List<Group> getGroup() {
        return group;
    }

    public void setGroup(List<Group> group) {
        this.group = group;
    }

    public static void main(String[] args) throws Exception {
        Serializer serializer = new Persister();
        Groups groups = serializer.read(Groups.class, your_xml_inputstream);
        System.out.println(groups.getGroup().size());
    }
}
于 2012-05-28T03:16:01.947 回答