易语言Xml介绍,应用,举例

文章详细介绍了如何使用XML解析支持库在程序中导入XML文件,操作节点、属性,以及创建和导出界面配置和数据库信息,包括尺寸设置和文件持久化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

支持库:XML解析支持库

①首先使用

程序集_XML.导入 ()

命令导入XML文件

例子:

程序集_XML.导入 (取运行目录 () + “\abc1.xml”)

输出调试文本 (程序集_XML.取根节点名文本 ())

//数据库

输出调试文本 (程序集_XML.取子节点个数 (“数据库/”, ))

//31

输出调试文本 (程序集_XML.取子节点个数 (“@1/”, ))

//31

输出调试文本 (程序集_XML.取属性值文本 (“数据库/第1条记录/”, “市”, ))

//鞍山

程序集_XML.创建 (“界面配置”)

程序集_XML.插入节点 (“界面配置/”, “尺寸”, “记录窗体大小属性”, )

程序集_XML.导出到文件 (取运行目录 () + “\temp.xml”, , , )

程序集_XML.创建 (“界面配置”)
程序集_XML.插入节点 (“界面配置/”, “尺寸”, “记录窗体大小属性”, )
程序集_XML.插入属性 (“界面配置/尺寸”, “宽度”, 到文本 (_启动窗口.宽度))
程序集_XML.插入属性 (“界面配置/尺寸”, “高度”, 到文本 (_启动窗口.高度))
程序集_XML.插入属性 (“界面配置/尺寸”, “左边”, 到文本 (_启动窗口.左边))
程序集_XML.插入属性 (“界面配置/尺寸”, “顶边”, 到文本 (_启动窗口.顶边))
程序集_XML.导出到文件 (取运行目录 () + “\temp.xml”, , , )

③区分

写配置项 (取运行目录 () + “\temp.ini”, “尺寸”, “宽度”, 到文本 (_启动窗口.宽度))
写配置项 (取运行目录 () + “\temp.ini”, “尺寸”, “高度”, 到文本 (_启动窗口.高度))
写配置项 (取运行目录 () + “\temp.ini”, “尺寸”, “左边”, 到文本 (_启动窗口.左边))
写配置项 (取运行目录 () + “\temp.ini”, “尺寸”, “顶边”, 到文本 (_启动窗口.顶边))

三、界面配置

四、界面配置+数据库

.版本 2
.支持库 EXMLParser
.支持库 iext
.支持库 HtmlView

.程序集 窗口程序集_启动窗口
.程序集变量 程序集_XML界面配置, XML树
.程序集变量 程序集_XML数据记录, XML树
.程序集变量 程序集_当前序号, 整数型

.子程序 __启动窗口_创建完毕

程序集_XML界面配置.导入 (取运行目录 () + “\temp.xml”)
.判断开始 (文件是否存在 (取运行目录 () + “\user.xml”) = 假)
    程序集_XML数据记录.创建 (“用户信息”)
.默认
    程序集_XML数据记录.导入 (取运行目录 () + “\user.xml”)
.判断结束
_按钮_刷新列表_被单击 ()
程序集_当前序号 = 程序集_XML数据记录.取子节点个数 (“用户信息”, )
' 输出调试文本 (程序集_当前序号)
_启动窗口.宽度 = 到数值 (程序集_XML界面配置.取属性值文本 (“界面配置/尺寸”, “宽度”, ))
_启动窗口.高度 = 到数值 (程序集_XML界面配置.取属性值文本 (“界面配置/尺寸”, “高度”, ))
_启动窗口.左边 = 到数值 (程序集_XML界面配置.取属性值文本 (“界面配置/尺寸”, “左边”, ))
_启动窗口.顶边 = 到数值 (程序集_XML界面配置.取属性值文本 (“界面配置/尺寸”, “顶边”, ))

.子程序 __启动窗口_可否被关闭, 逻辑型

' 程序集_XML.导入 (取运行目录 () + “\abc1.xml”)
' 输出调试文本 (程序集_XML.取根节点名文本 ())
' ' 程序集_XML.导入 ()
' 输出调试文本 (程序集_XML.取子节点个数 (“@1/”, ))
' 输出调试文本 (程序集_XML.取属性值文本 (“数据库/第1条记录/”, “市”, ))
程序集_XML界面配置.创建 (“界面配置”)
程序集_XML界面配置.插入节点 (“界面配置/”, “尺寸”, “记录窗体大小属性”, )
程序集_XML界面配置.插入属性 (“界面配置/尺寸”, “宽度”, 到文本 (_启动窗口.宽度))
程序集_XML界面配置.插入属性 (“界面配置/尺寸”, “高度”, 到文本 (_启动窗口.高度))
程序集_XML界面配置.插入属性 (“界面配置/尺寸”, “左边”, 到文本 (_启动窗口.左边))
程序集_XML界面配置.插入属性 (“界面配置/尺寸”, “顶边”, 到文本 (_启动窗口.顶边))
' 写配置项 (取运行目录 () + “\temp.ini”, “尺寸”, “宽度”, 到文本 (_启动窗口.宽度))
' 写配置项 (取运行目录 () + “\temp.ini”, “尺寸”, “高度”, 到文本 (_启动窗口.高度))
' 写配置项 (取运行目录 () + “\temp.ini”, “尺寸”, “左边”, 到文本 (_启动窗口.左边))
' 写配置项 (取运行目录 () + “\temp.ini”, “尺寸”, “顶边”, 到文本 (_启动窗口.顶边))
程序集_XML界面配置.导出到文件 (取运行目录 () + “\temp.xml”, , , )

.子程序 _按钮_添加_被单击

程序集_XML数据记录.插入节点 (“用户信息”, “用户记录”, 编辑框_姓名.内容 + “的信息”, )
程序集_当前序号 = 程序集_当前序号 + 1
程序集_XML数据记录.插入属性 (“用户信息/@” + 到文本 (程序集_当前序号), “姓名”, 编辑框_姓名.内容)
程序集_XML数据记录.插入属性 (“用户信息/@” + 到文本 (程序集_当前序号), “年龄”, 编辑框_年龄.内容)
程序集_XML数据记录.插入属性 (“用户信息/@” + 到文本 (程序集_当前序号), “身高”, 编辑框_身高.内容)
程序集_XML数据记录.导出到文件 (取运行目录 () + “\user.xml”, , , )
_按钮_刷新列表_被单击 ()

.子程序 _按钮_刷新列表_被单击
.局部变量 局部_字段数, 整数型
.局部变量 局部_计次, 整数型
.局部变量 局部_字段名, 文本型, , "0"
.局部变量 局部_位置, 整数型
.局部变量 局部_计次1, 整数型

超级列表框1.表项 = {  }
超级列表框1.报表列 = {  }
' 局部_字段数 = 程序集_XML数据记录.取属性个数 (“用户信息/用户记录”, )
局部_字段名 = 程序集_XML数据记录.取所有属性名 (“用户信息/用户记录”, )
.计次循环首 (取数组成员数 (局部_字段名), 局部_计次)
    超级列表框1.插入列 (, 局部_字段名 [局部_计次], 100, , , )
.计次循环尾 ()
.计次循环首 (程序集_XML数据记录.取子节点个数 (“用户信息”, ), 局部_计次)
    局部_位置 = 超级列表框1.插入表项 (, , , , , )
    .计次循环首 (取数组成员数 (局部_字段名), 局部_计次1)
        超级列表框1.置标题 (局部_位置, 局部_计次1 - 1, 程序集_XML数据记录.取属性值文本 (“@1/@” + 到文本 (局部_计次), 局部_字段名 [局部_计次1], ))
    .计次循环尾 ()
.计次循环尾 ()
超文本浏览框1.地址 = 取运行目录 () + “\user.xml”

.子程序 _按钮_修改_被单击

程序集_XML数据记录.修改属性值 (“用户信息/@” + 到文本 (超级列表框1.现行选中项 + 1), “姓名”, 编辑框_姓名.内容)
程序集_XML数据记录.修改属性值 (“用户信息/@” + 到文本 (超级列表框1.现行选中项 + 1), “年龄”, 编辑框_年龄.内容)
程序集_XML数据记录.修改属性值 (“用户信息/@” + 到文本 (超级列表框1.现行选中项 + 1), “身高”, 编辑框_身高.内容)
程序集_XML数据记录.导出到文件 (取运行目录 () + “\user.xml”, , , )
_按钮_刷新列表_被单击 ()
信息框 (“修改成功!”, #信息图标, , )

.子程序 _超级列表框1_左键单击表项

编辑框_姓名.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 0)
编辑框_年龄.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
编辑框_身高.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 2)

.子程序 _按钮_删除_被单击

程序集_XML数据记录.删除节点 (“用户信息/@” + 到文本 (超级列表框1.现行选中项 + 1))
程序集_XML数据记录.导出到文件 (取运行目录 () + “\user.xml”, , , )
_按钮_刷新列表_被单击 ()

zyXML 是一个轻便、小巧的,纯易语言代码来解析XML的模块。 优点: 1、不依赖任何DLL、支持库、系统组件(Microsoft.XMLDOM等对象) 2、支持UTF-8 、UTF-16 等编码 3、支持 XPath 语法来查询节点 4、支持 CDATA 5、开源(如果有任何问题可以自己修改) 缺点: 1、加载速度稍微逊色于支持库,但是查询速度很快。 2、不支持DTD,也就是类似于如下的节点 <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to      (#PCDATA)> <!ELEMENT from    (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body    (#PCDATA)> ]> 3、XPath查询语法支持不全(要全部支持太麻烦了,实在没精力去解析了) XPath具体语法可参考:http://www.w3school.com.cn/xpath/xpath_syntax.asp 目前支持的XPath 语法有限,不支持的有: 1、查找只能返回节点,而不能返回属性,当然查找条件可以有属性,如:节点名[@属性\u540d='\u5c5e\u6027\u503c'] 2、[] 括号里面的谓语表达式 仅仅支持一个操作符号,且不支持 | 、 or 、 and 和 mod ,并且属性名不支持*,仅仅元素名才支持* 3、轴 不支持 following、namespace、preceding 和 preceding-sibling 4、函数都不支持,但是可以有如下使用: node()         可返回所有节点且不管节点是什么类型 cdata()        仅查找 CDATA 类型的节点 text()           仅查找 文本 节点 comment()  仅查找 注释 节点 *                  仅查找 元素 节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值