关于xml解析器

时间:2009-11-13 13:54:58

标签: xml parsing

什么是xml解析器?有多少种类型的解析器?哪个是解析xml文档的最佳xml解析器? xml解析器如何工作?可以任何人简单地说出来吗?

3 个答案:

答案 0 :(得分:2)

与任何其他解析器一样,XML解析器是一种工具,它可以将传输表示(在本例中为文本)转换为可以从代码中访问的内容(在本例中为树或一系列解析事件) ,取决于解析器类型。)

现在有两种主要类型的XML解析器: DOM解析器,它们从XML结构和串行解析器创建内存中的对象树,例如为SAX

对于DOM解析器,解析器必须读取整个XML文档并构造内存中的对象:树节点,属性节点等,并将它们放入表示XML文件的合适树结构中。这有明显的好处,例如整个树上的随机访问,但也有缺点,主要是完整的树必须驻留在内存中,对于大文件也可能相当大,以及必须解析整个文件的事实在你开始处理数据本身之前。

另一方面,SAX是一种串行方法,它只是扫描XML文件并根据它找到的语法元素生成事件,例如启动标记,属性,结束标记等。你肯定也可以从该信息创建树结构,但通常这种方法更轻量级:您可以在读取和解析文档时开始处理数据,而不必等到完成所有操作。但是,如果您愿意,则无​​法访问整个树。您可以在树内等向前或向后跳跃。

解析XML文档的理想方法取决于您的特定应用程序需求。如果你必须在不同的时间点查看树中的任意位置,那么显然DOM是最好的方法。但是,如果您的XML文档的结构非常适合从头到尾阅读而不必再返回,那么SAX应该可以工作。例如,对于XHTML显示,SAX将是正确的方法,即使您仍然需要在后台使用对象模型。但是出于显示目的,通常只需查看标签进入并呈现它们就足够了。

答案 1 :(得分:1)

  • XML Parser是一种将XML转换为可访问对象的工具 (编辑:评论后) 或者进入一系列事件。基本上任何可以用来使用和处理XML数据的东西

  • 您能为其他问题指定语言吗?

答案 2 :(得分:0)

DOM和SAX相对而言,旧技术,对于最新版本,请查看STaX和VTD-XML

相关问题