我看到一堆类似的线程,但还没有找到一个回答我的问题。我有一个像这样的xml -
<MyDoc>
<Book>
<BookObject>
<name>Intro to CS</name>
<year>2009</year>
<BookObject>
</Book>
<CD>
<CDObject>
<name>Exercises</name>
<year>2009</year>
</CDObject>
<CDObject>
<name>Appendix</name>
<year>2009</year>
</CDObject>
</CD>
</MyDoc>
在startElement中我只有这个:
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
tagName = qName;
}
但我无法弄清楚如何实现
下面的endElement@Override
public void endElement(String uri, String localName, String qName) throws SAXException
{
if (tagName.equalsIgnoreCase("BookObject"))
{
//what here?
}
}
寻找可能有用的示例链接或指向我需要进行的api调用的指针。我有这些POJOS - Book,BookObject,CD,CDObject和MyDoc。
提前感谢您的帮助。
答案 0 :(得分:0)
你还没有真正告诉我们你想做什么,但你可能想做的事情就像......
在startElement()中 - 当您看到一个开头时,然后创建一个Book对象。当您看到a时,然后在Book对象中创建一个新的BookObject。对于BookObject中的内容,您需要实现:
public void characters(char[] ch, int start, int length) throws SAXException;
这将调用你的&lt; name&gt;中的内容。例如,对象,所以你还需要跟踪你在其中的一个。