首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本的DOM XML解析器需要什么?

基本的DOM XML解析器需要什么?
EN

Stack Overflow用户
提问于 2010-09-15 08:09:52
回答 2查看 1.9K关注 0票数 2

我已经开始使用Google的Go语言进行编程,我尝试编写的包是一个用于处理和创建DOCX文件的API (我熟悉这个主题,并且认为这将是学习Go的一个好方法)。由于DOCX文件主要是包含各种XML文件的ZIP文件,因此我需要一个DOM XML解析器。但是,我找不到任何原生的Go DOM XML解析器,因为我看到的惟一的解析器似乎非常有限,而且可能是SAX解析器(任何使用Go的人,如果我错了,请纠正我)。

因此,在刚刚过去的这个周末,我编写了一个非常基本的DOM解析器,它能够解析DOCX包中较简单的XML文件之一,并原封不动地输出。目前,我不打算为Namespace、XSLT或模式验证支持而烦恼,因为这些对于操作DOCX文件没有什么用处。我的问题是,将哪些其他XML标准和功能合并到解析器中会很重要?

目前,它只是创建了一个元素和属性树,我可以修改和保存它们。我目前不处理CDATA元素或XML转义字符(尽管这些操作很容易,我将在本周末介绍)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-15 08:29:44

首先:如果你特别想做DOM解析器,你需要实现DOM API。但我不确定您是否真的是这个意思;也许您只是指一个生成XML树模型(“dom”)的XML解析器;或者仅仅是一个XML解析器?DOM不是唯一的方法。还要注意,使用SAX解析器实现DOM树模型是最常见的方法;很少有DOM包具有嵌入式解析器,解析器通常是单独公开的。

至于XML解析器特性,在我看来,其中一些是必须的:

字符实体(与号和数字)的

  • 处理,预定义的通用实体(lt,gt,apos,

) xml声明的

  • 处理()各种输入编码的
  • 处理;由xml声明或外部声明声明--太多的解析器忽略了这一点,但这一点非常重要,因为xml文档可以可靠地检测编码internally.
  • Checking以保证属性values
  • Checking的唯一性,以便正确嵌套comments
  • Skippping的elements
  • Skipping (如果没有处理)处理instructions
  • CDATA处理--做
  • 跟踪行号以进行错误报告

非常简单

其他最终有用的东西包括:

根据xml specification,lineefeds的

  • 命名空间的字符有效性、内容和有效性。
票数 3
EN

Stack Overflow用户

发布于 2010-09-15 21:51:45

你看过Go的XML解析器吗?http://golang.org/pkg/xml/

如果它缺少您需要的功能,添加它可能仍然比滚动您自己的功能更容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3713811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档