【问题标题】:Parse XML to a different format with SAX [closed]使用 SAX 将 XML 解析为不同的格式 [关闭]
【发布时间】:2013-12-03 19:16:35
【问题描述】:

我在将 XML 文件解析为不同格式时遇到了很大的问题。 我正在尝试获取此链接中所述的所有相关数据:http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/ (我之前搜索过stackoverflow,找到了这个链接)

我使用接口 XMLReader 进行解析,使用 XML Serializer 进行输出。

我只需要将带有 DTD 的 XML 转换为带有不同 DTD 的另一个 XML。不同之处在于,大多数子元素现在都是目标 XML 中的属性,而不是来自我的源 XML 的元素。没有新的元素,只有不同的安排。

有人知道如何用 SAX 解析器处理这个问题吗?

【问题讨论】:

    标签: java xml parsing sax


    【解决方案1】:

    您可以为此使用 XMLFilters。有关解释和示例,请参阅Elliotte Rusty Harold's book

    过滤器的基本思想是一个 XMLReader,而不是接收 直接来自文件、套接字或其他源的 XML 文本接收 已经从另一个 XMLReader 解析了事件。它可以改变这些 在将事件传递给客户端应用程序之前 ContentHandler 和其他回调接口的常用方法。为了 例如,它可以为每个元素添加唯一的 ID 属性或删除 来自输入流的 SVG 命名空间中的所有元素。

    顺便说一句,mkyong 教程掩盖了 characters 方法的工作原理,当他们发现他们的元素数据被截断时,这往往会吸引很多人。 Oracle 网站上有a better tutorial

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      • 2011-02-12
      • 2010-10-17
      • 1970-01-01
      • 2011-06-17
      相关资源
      最近更新 更多