The invention discloses a method and a device for analyzing extensible markup language. The method comprises: acquiring preset fragments of extensible markup language file; the default node fragment of the order of execution stack and the stack; according to the node tree node structure stack operation gets and the preset corresponding fragment. Through the technical proposal of the invention, it can handle large extensible markup language file, access and modify extensible markup language file, and is easy to develop and understand.
【技术实现步骤摘要】
本专利技术实施例涉及一种智能终端技术,尤其涉及一种可扩展标记语言解析方法及装置。
技术介绍
可扩展标记语言(ExtensibleMarkupLanguage,XML)是W3C组织于1998年2月发布的标准。可扩展标记语言作为全球通用的半结构化的数据模型,它的应用领域己广泛涉及出版、电子商务、企业协作以及Web服务等方而由于可扩展标记语言具有跨平台、简单易用等特性,在很短的时间内就获得了广泛认同,其应用领域不断地得到拓展,已成为一种被大量使用的通用数据格式。SAX,全称SimpleAPIfor可扩展标记语言,既是一种接口,也是一种软件包。它是一种可扩展标记语言解析的替代方法。它逐行扫描文档,一边扫描一边解析。由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中,这对于大型文档的解析是个巨大优势。然而SAX只能对文件按顺序剖析一遍,不支持对文件的随意存取。并且它只能读取可扩展标记语言文件内容,不能修改可扩展标记语言文件内容。开发上也比较复杂,需要自己制作事件处理器。文档对象模型(DocumentObjectModel,DOM)是W3C组织推荐的处理可扩展标志语言的标准编程接口。使用DOM对可扩展标记语言文件进行操作时,首先要解析文件,将文件分为独立的元素、属性和注释等,然后以节点树的形式在内存中对可扩展标记语言文件进行表示,就可以通过节点树访问文档的内容,并根据需要修改文档。DOM可以随意存取文件树的任何部分,并且可以随意修改可扩展标记语言文件,易于理解和开发。然而DOM处理大型的可扩展标记语言文件会产生大量的开销,占用过多系统的内存,并且创建 ...
【技术保护点】
一种可扩展标记语言解析方法,其特征在于,包括:获取可扩展标记语言文件中的预设片段;将所述预设片段中的节点依次执行入栈和出栈操作;依据所述出栈操作得到的节点构造和所述预设片段对应的节点树。
【技术特征摘要】
1.一种可扩展标记语言解析方法,其特征在于,包括:获取可扩展标记语言文件中的预设片段;将所述预设片段中的节点依次执行入栈和出栈操作;依据所述出栈操作得到的节点构造和所述预设片段对应的节点树。2.根据权利要求1所述的方法,其特征在于,所述将所述预设片段中的节点依次执行入栈和出栈操作,包括:读取到开始标签时,通过第一回调函数创建根节点放入栈中;步骤A:通过所述第一回调函数将node节点放入所述栈中;步骤B:通过所述第一回调函数将id节点放入所述栈中,读取到结束标签时,通过第二回调函数将栈顶节点出栈,并存入所述node节点的子节点中;和/或;步骤C:通过所述第一回调函数将name节点放入所述栈中,读取到结束标签时,通过第二回调函数将栈顶节点出栈,并存入所述node节点的子节点中;步骤D:读取到结束标签时,通过所述第二回调函数将栈顶节点出栈,并存入所述根节点的子节点中。3.根据权利要求2所述的方法,其特征在于,还包括:将所述预设片段中的node节点依次执行步骤A、B和/或C、D直至预设片段中的所有节点均执行了入栈和出栈操作。4.根据权利要求2所述的方法,其特征在于,所述依据所述出栈操作得到的节点构造和所述预设片段对应的节点树,包括:所述node节点的id节点和/或name节点作为所述node节点的子节点;所述node节点作为所述根节点的子节点。5.根据权利要求1所述的方法,其特征在于,所述将所述预设片段中的节点依次执行入栈和出栈操作,包括:将所述预设片段中的节点通过深度优先搜素算法逐个节点执行入栈和出栈操作。6.根据权利要求2所述的方法,其特征在于,所述第一回调函数为startElement,所述第二回调函数为endE...
【专利技术属性】
技术研发人员:王祺,
申请(专利权)人:沈阳中科创达软件有限公司,
类型:发明
国别省市:辽宁;21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。