【问题标题】:Reading XML using Java - SAX Parser使用 Java 读取 XML - SAX 解析器
【发布时间】:2012-12-02 14:37:18
【问题描述】:

请看下面的链接(这里的代码不遵循SAX)

http://viralpatel.net/blogs/parsing-reading-xml-file-in-java-xml-reading-java-tutorial/

在这里,看来我必须知道主子元素的名称(在本例中为 'student' ),并将其作为字符串解析为

NodeList studentList = docEle.getElementsByTagName("student");

所以在这里,它就像解析具有固定元素名称的 XML。但是,我有 XML 文件,而且我永远不会知道元素的名称。这意味着,在第一个 xml 文件中,标签名称可以是“食物”,在第二个 xml 文件中,标签名称可以是“饮料”,依此类推。这意味着,我永远不会知道那里会有哪些元素,以及它们的名称/标签是什么。

据此,我如何编写新代码/编辑给定代码?请帮忙。

【问题讨论】:

  • 您至少应该知道您从 XML 中获得了什么数据。 XML 在您甚至可以从中获取元素之前就已被解析。
  • 这是一个 KPI。所以,行业数据
  • 您是否正在编写用于解析任意 XML 的库?如果没有,您应该了解 XML 文档的方案并将任何意外元素作为错误处理。
  • 不会提供任何内容。只有 XML。而且,无论如何我们都是学生:)'
  • @Sepala 你应该知道 XML doc 的方案,即什么是根元素,什么是子元素,什么是它们的子元素等等。除非您编写自己的 SAX/DOM 实现,否则情况似乎并非如此。

标签: java xml io sax saxparser


【解决方案1】:

看看 XStream http://x-stream.github.io/ 能否为你解决这个问题。它将反序列化任何有效的 xml。我的另一个想法是切换到 Groovy 并使用 XMLSlurper——一个很棒的工具。

【讨论】:

  • 这不是一个网络解决方案。这是一个桌面应用程序。我会查看链接:)
  • 哇..这很有趣。我不知道这是否对我有帮助,但这很有趣!向我 +1!
猜你喜欢
  • 1970-01-01
  • 2017-08-19
  • 1970-01-01
  • 2012-08-27
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
  • 1970-01-01
相关资源
最近更新 更多