如何通过SAX和Create Tree列表解析XML?

时间:2011-09-29 14:46:18

标签: java xml xml-parsing sax saxparser

我已经学习了关于java的SAX解析器的教程,现在我需要创建这样的XML文件树列表:

<course>
     <chapter>
          <title>chapter one of course one</title>
          <content> .... </content>
     </chapter>

    <chapter>
          <title>chapter two of course one</title>
          <content> .... </content>
    </chapter>
</course>

然后我要创建这样的数据结构:

string lessons[][] = {
       {"chapter one of course one", "chapter two of course one"},
       {"chapter one of course two", "chapter two of course two", "chapter tree of course two"},
       ....
       ....

}

4 个答案:

答案 0 :(得分:1)

JDK中没有对您正在寻找的数据结构类型的开箱即用支持。你需要的是MultimapGuava library提供此数据结构。您可以使用该库(我推荐)或自己构建。

另外,如果您正在使用SAX阅读元素内容,请确保在read my answer SO中发布this

JAVA SAX parser split calls to characters()

答案 1 :(得分:0)

这里你去:THIS是SAX文档,读取并尝试构建自己的解析器配合

答案 2 :(得分:0)

考虑一个Stack。在startElement()中,你可以在endElement中推送pop()。根据元素标记名称,您可以使用堆栈中的内容进行有趣的操作,也可以使用“全局”上下文中的内容。

答案 3 :(得分:0)

此代码完全符合您的要求,您只需调整它即可输出所需的JSON结构。

https://github.com/kasmodia/sax-tree-parser