YStudio Y++

XML支持库

Y++ / YStudio 开发文档 · 一点滴

路径:支持库 → XML支持库 → XML操作。

硬约束

  1. 扁平命令;创建/解析/读文件失败返回句柄 0,查 XML_取错误()。
  2. 用完必须 XML_释放(句柄)。
  3. 路径用 / 分隔;可写根标签;同名兄弟用 [索引](从 0 起);空路径=根。
  4. 大文件用 XML_读文件 / XML_写文件(UTF-8 二进制),不要先整文件读文本再 XML_解析。
  5. 属性用 XML_取属性 / XML_置属性,勿与节点文本混淆。

快速开始

整数 h = XML_创建("配置")
XML_添加子节点(h, "配置", "项")
XML_置属性(h, "配置/项", "名", "a")
XML_置节点文本(h, "配置/项", "1")
XML_写文件(h, "out.xml")
XML_释放(h)

h = XML_读文件("窗口/主窗口/主窗口.xml")
输出(XML_取属性(h, "窗口", "宽度"))
输出(XML_取子节点数(h, "窗口/控件"))
XML_释放(h)

XML操作

本分类共 19 条。

XML_创建

  • 签名:整数 XML_创建(文本 根标签)
  • 说明:创建仅含根节点的空文档,成功返回句柄(整数),失败返回 0。
  • 参数一│根标签: 根元素名,如 “根”、”窗口”。

XML_解析

  • 签名:整数 XML_解析(文本 XML文本)
  • 说明:把 XML 文本解析为内存文档,成功返回句柄(整数),失败返回 0。
  • 参数一│XML文本: 完整 XML 字符串,支持中文标签与属性。

XML_读文件

  • 签名:整数 XML_读文件(文本 文件路径)
  • 说明:极速 UTF-8:按二进制读入并解析 XML,成功返回句柄。
  • 参数一│文件路径: 本地.xml 路径,支持中文路径。

XML_写文件

  • 签名:逻辑 XML_写文件(整数 句柄, 文本 文件路径)
  • 说明:极速 UTF-8:把内存文档写入本地文件;成功返回真。
  • 参数一│句柄: XML_创建 / XML_解析 / XML_读文件 的返回值。
  • 参数二│文件路径: 输出.xml 路径。

XML_添加子节点

  • 签名:整数 XML_添加子节点(整数 句柄, 文本 父路径, 文本 标签)
  • 说明:在父节点末尾追加子节点,返回新子节点索引(从 0 起);失败返回 -1。
  • 参数一│句柄
  • 参数二│父路径: 父节点路径;空路径表示根。
  • 参数三│标签: 新子节点标签名。

XML_插入子节点

  • 签名:整数 XML_插入子节点(整数 句柄, 文本 父路径, 整数 索引, 文本 标签)
  • 说明:在父节点指定位置插入子节点,返回插入后的索引;失败返回 -1。
  • 参数一│句柄
  • 参数二│父路径
  • 参数三│索引: 插入位置,从 0 起。
  • 参数四│标签

XML_删除节点

  • 签名:逻辑 XML_删除节点(整数 句柄, 文本 路径)
  • 说明:删除指定节点(含其子树);成功返回真。不可删根节点。
  • 参数一│句柄
  • 参数二│路径: 待删节点路径。

XML_取子节点数

  • 签名:整数 XML_取子节点数(整数 句柄, 文本 路径)
  • 说明:返回指定节点的直接子节点个数。
  • 参数一│句柄
  • 参数二│路径

XML_取子节点名

  • 签名:文本 XML_取子节点名(整数 句柄, 文本 路径, 整数 索引)
  • 说明:取指定父节点下第 N 个子节点的标签名;越界返回空文本。
  • 参数一│句柄
  • 参数二│路径: 父节点路径。
  • 参数三│索引: 从 0 起。

XML_节点是否存在

  • 签名:逻辑 XML_节点是否存在(整数 句柄, 文本 路径)
  • 说明:判断路径对应节点是否存在;存在返回真。
  • 参数一│句柄
  • 参数二│路径

XML_取标签名

  • 签名:文本 XML_取标签名(整数 句柄, 文本 路径)
  • 说明:取指定节点的标签名。
  • 参数一│句柄
  • 参数二│路径: 空路径表示根。

XML_取节点文本

  • 签名:文本 XML_取节点文本(整数 句柄, 文本 路径)
  • 说明:取指定节点的直接文本内容(不含子节点)。
  • 参数一│句柄: XML_创建 / XML_解析 / XML_读文件 的返回值。
  • 参数二│路径: 如 根/子;空路径表示根节点。

XML_置节点文本

  • 签名:逻辑 XML_置节点文本(整数 句柄, 文本 路径, 文本 内容)
  • 说明:设置节点直接文本;成功返回真。
  • 参数一│句柄
  • 参数二│路径
  • 参数三│内容: 新文本。

XML_取属性

  • 签名:文本 XML_取属性(整数 句柄, 文本 路径, 文本 属性名)
  • 说明:取节点上的属性值;不存在时返回空文本。
  • 参数一│句柄
  • 参数二│路径: 目标节点路径。
  • 参数三│属性名: 如 名称、宽度、typeId。

XML_置属性

  • 签名:逻辑 XML_置属性(整数 句柄, 文本 路径, 文本 属性名, 文本 属性值)
  • 说明:设置或覆盖节点属性;成功返回真。
  • 参数一│句柄
  • 参数二│路径
  • 参数三│属性名
  • 参数四│属性值

XML_删除属性

  • 签名:逻辑 XML_删除属性(整数 句柄, 文本 路径, 文本 属性名)
  • 说明:删除节点上的指定属性;成功返回真。
  • 参数一│句柄
  • 参数二│路径
  • 参数三│属性名

XML_到文本

  • 签名:文本 XML_到文本(整数 句柄)
  • 说明:把内存文档序列化为 XML 文本(含 UTF-8 声明)。
  • 参数一│句柄

XML_释放

  • 签名:逻辑 XML_释放(整数 句柄)
  • 说明:释放句柄占用的内存;成功返回真。句柄释放后不可再用。
  • 参数一│句柄

XML_取错误

  • 签名:文本 XML_取错误()
  • 说明:取最近一次 XML 操作失败原因。

易错对照

错误 正确
忘记释放句柄 XML_释放
路径用反斜杠 用 /
删根节点 不可删根
大文件先读文本再解析 直接 XML_读文件

相关

CSV支持库 · INI支持库 · 文件操作