关于xml解析器
一个XML语法分析器是一种工具,将XML转换成可访问的对象 (编辑:继评论) 或成一系列的事件。基本上任何你可以用它来消耗和XML数据
行为你可以指定其他qustions语言?
的XML解析器,就像任何其他的解析器,一个工具,它从运输形式转换(文本,在这种情况下)的东西,你可以从你的代码中访问(在这种情况下,一棵树或一系列解析事件,具体取决于解析器类型)。
有两种主要类型的XML解析器时下:DOM解析器从XML结构创建一个内存中的对象树并串行解析器,如SAX。
对于DOM解析器解析器必须读取整个XML文档和构造在内存中的对象:树节点,属性节点,等等,并把它们转换成表示该XML文件的适当的树结构。这具有显而易见的好处,例如对整个树的随机访问,但也有缺点,主要是完整的树必须驻留在内存中,对于大文件,内存可能相当大,以及必须解析完整文件的事实然后才能开始处理数据本身。
SAX,另一方面是串行的做法,仅仅扫描XML文件并生成事件根据所发现什么语法元素,如启动标签,属性,结束标记等,您一定可以创建一个树结构也是如此,但通常这种方法更加轻便:当文档被读取和解析时,您可以开始处理数据,无需等到全部完成。但是,如果您想要,则无法访问整个树。您可以在树内向前或向后跳,等
用于解析XML文档的理想的方法取决于您的具体应用需求。如果你必须在不同的时间点观察树中的任意位置,那么显然DOM是最好的方法。但是,如果您的XML文档具有适合从头到尾阅读并且不必再返回的结构,则SAX应该可以工作。例如,对于XHTML显示来说,即使您仍然需要在后台使用对象模型,SAX仍然是正确的方法。但是,对于唯一的显示目的,通常只要查看哪些标签进入并渲染即可。
这是很老的信息,你可能从维基 – 2009-11-13 22:23:38
复制它
DOM和SAX是相对而言,老技术,为最新的文档检查STAX和VTD-XML
你怎么能要求提供有关XML解析器的答案后,这个问题? http://stackoverflow.com/questions/1722140/how-can-i-parse-xml-using-java/1728265#1728265。你显然已经知道解析器是什么,并且有不同的类型。巨魔? – 2009-11-16 13:54:24