繁体   English   中英

如何使用 SAX Parser 解析 xml 文件中的嵌套标签

[英]How to parse nested tags in xml files using SAX Parser

我看到一堆类似的线程,但还没有找到一个能回答我的问题的线程。 我有一个这样的 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。

在此先感谢您的帮助。

你还没有真正告诉我们你想做什么,但你可能想做的是......

在 startElement() 中——当你看到一个开始时,然后创建一个 Book 对象。 当您看到 ,然后在您的 Book 对象中,创建一个新的 BookObject。 对于 BookObject 里面的东西,你需要实现:

public void characters(char[] ch, int start, int length) throws SAXException;

例如,这将调用 <name> 对象中的内容,因此您还需要跟踪您是否在其中一个对象中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM