c语言解析xml的最常用方式
SAX
sax是一个用于处理xml事件驱动的“推”模型;
优点:解析速度快,占用内存少,它需要哪些数据再加载和解析哪些内容。
缺点:它不会记录标签的关系,而是需要应用程序自己处理,这样就会增加程序的负担。
DOM
dom是一种文档对象模型;
优点:dom可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构,dom技术使得用户页面可以动态的变化,如动态显示隐藏一个元素,改变它的属性,增加一个元素等,dom可以使页面的交互性大大增强。
缺点:dom解析xml文件时会将xml文件的所有内容以文档树方式存放在内存中。
PB如何解析XML文件
可以使用文件读取的方式,你先把C盘中的1.XML文件读入到一个字符型变量中,然后使用FIND的方式,查找XML文件的关键字定位,然后使用MID函数字符串截取的方式来截取XML文件中的值。
假设我的1.xml有如下内容
<pk_corp>0001</pk_corp>
//将文件读入ls_text
string ls_text
li_FileNum = FileOpen("C:\1.xml", StreamMode!)
FileRead(li_FileNum, ls_text)
FileClose(li_FileNum)
//利用POS截取
long ll_start_pos, ll_end_pos
ll_start_pos = Pos( ls_text, "<pk_corp>", 1 )
ll_end_pos = Pos( ls_text, “</pk_corp>", 1 )
-------得到内容
string ls_value
ls_value = mid(ls_text, ll_start_pos + 9, ll_end_pos - ll_start_pos - 9)
这样可以得到ls_value = '0001'
解析XML文件时出现如下错请问如何解决
XML是可扩展标记语言用户界面语言编译的文件,据您所提供的资料来看,您所安装的某个扩展出现了错误或不兼容问题。建议您使用通过开关扩展,利用排除法进行问题定位并解决。
还没有评论,来说两句吧...