|

窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | xml树 | Xml树 | |
按钮_加载.标题 = "加载XML文件" 按钮_保存.标题 = "保存XML文件" 编辑框1.是否允许多行 = 真 编辑框1.滚动条 = 2 .局部变量 文件路径, 文本型 .局部变量 xml文本, 文本型 文件路径 = 浏览文件夹 ("选择XML文件", "" ) + "\data.xml" 如果 (文件路径 = "\data.xml" ) 返回 () xml文本 = 安全加载XML (文件路径 ) 如果 (xml文本 = "" ) 信息框 ("加载XML文件失败", 0, "错误", )  编辑框1.内容 = xml文本 信息框 ("XML加载成功,CDATA格式已保留", 0, "成功", ) .局部变量 保存路径, 文本型 .局部变量 xml文本, 文本型 保存路径 = 浏览文件夹 ("选择保存位置", "" ) + "\output.xml" 如果 (保存路径 = "\output.xml" ) 返回 ()xml文本 = 编辑框1.内容 如果 (写到文件 (保存路径, 到字节集 (xml文本 )) ) 信息框 ("XML保存成功", 0, "成功", ) 信息框 ("保存文件失败", 0, "错误", ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | xml文本 | 文本型 | | | 临时树 | Xml树 | | |
临时树. 创建 () 如果 (临时树. 加载文件 (文件路径 ) = 假) 返回 ("" ) xml文本 = 获取带CDATA的XML (临时树 )临时树. 销毁 ()返回 (xml文本 )变量名 | 类 型 | 静态 | 数组 | 备 注 | xml文本 | 文本型 | | | CDATA节点路径 | 文本型 | | 0 | i | 整数型 | | |
xml文本 = xml树. 取xml数据 () 查找CDATA节点路径 (xml树, "", CDATA节点路径 ) 计次循环首 (取数组成员数 (CDATA节点路径 ), i ) .局部变量 节点名, 文本型  .局部变量 节点内容, 文本型   节点名 = 取路径末节点名 (CDATA节点路径 [i ]) 节点内容 = xml树. 取文本 (CDATA节点路径 [i ], "" )  xml文本 = 子文本替换 (xml文本,  "<" + 节点名 + ">" + 节点内容 + "",  "<" + 节点名 + ">",  , , 真) 计次循环尾 ()返回 (xml文本 )|
查找CDATA节点路径 | | | |
xml树 | Xml树 | | | | 当前路径 | 文本型 | | | | 路径数组 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 子节点数 | 整数型 | | | i | 整数型 | | |
子节点数 = xml树. 取子节点数 (当前路径 ) 计次循环首 (子节点数, i ) .局部变量 节点类型, 整数型  .局部变量 新路径, 文本型   新路径 = 当前路径 + "/" + xml树. 取节点名 (当前路径 + " [" + 到文本 (i ) + " ]" ) 节点类型 = xml树. 取节点类型 (新路径 )  如果 (节点类型 = #CDATA节点 ) 加入成员 (路径数组, 新路径 ) 查找CDATA节点路径 (xml树, 新路径, 路径数组 ) 计次循环尾 ()位置 = 倒找文本 (完整路径, "/", , 假) 如果 (位置 > 0 ) 返回 (取文本右边 (完整路径, 取文本长度 (完整路径 ) - 位置 )) 返回 (完整路径 ) .局部变量 xml文本, 文本型 xml文本 = 编辑框1.内容 如果 (xml文本 = "" ) 信息框 ("请先加载XML文件", 0, "提示", ) 返回 ()编辑框1.内容 = 格式化XML (xml文本 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 格式化文本 | 文本型 | | | 缩进 | 文本型 | | | i | 整数型 | | |
格式化文本 = "" 缩进 = " " 如果 (寻找文本 (xml文本, " 格式化文本 = 取文本左边 (xml文本, 寻找文本 (xml文本, "?>", , 假) + 2 ) + #换行符  xml文本 = 取文本右边 (xml文本, 取文本长度 (xml文本 ) - 寻找文本 (xml文本, "?>", , 假) - 2 ) 格式化文本 = "" + #换行符  格式化文本 = 格式化文本 + 子文本替换 (xml文本, "><", ">" + #换行符 + "<", , , 真)返回 (格式化文本 ).局部变量 xml文本, 文本型 xml文本 = 编辑框1.内容 如果 (xml文本 = "" ) 信息框 ("请先加载XML文件", 0, "提示", ) 返回 () 如果 (验证XML格式 (xml文本 )) 信息框 ("XML格式有效", 0, "验证通过", ) 信息框 ("XML格式有误", 0, "验证失败", ) 验证树. 创建 ()返回 (验证树. 解析 (xml文本 ))
|
|