XML NSIS 插件 v2.0
2008 年 Shengalts Aleksander,网名 Instructor ([email protected])
目录
使用说明
XML 插件解析 XML 文档,并从中构建一个可读取、修改和保存的文档对象模型(DOM)。XML 插件及其文档基于 TinyXml (2.5.3) 和 TinyXPath (1.3.1).
插件特性
- 读取/修改 XML 文件。
- 支持 XPath 表达式。
- Unicode UTF-8 支持。
- 独立于 "MSXML.DLL"。
- 支持压缩和非压缩空格。
- 行和列跟踪。
特殊字符
插件识别预定义的 "字符实体",即特殊字符。具体包括:
& & < < > > " " ' '当读取 XML 文档时,将识别这些实体,并将它们翻译成它们的 UTF-8 编码。例如,具有以下 XML 的文本:
Far & Away在查询时将具有值 "Far & Away",并且在写回到 XML 文件时将作为一个 ampersand(&)写回。此外,任何字符都可以通过其 Unicode 代码点进行指定:语法(& #xA0) " " 或(& #160;) " " 都表示非断行空格字符。
XML文件示例
<?xml version="1.0" encoding="utf-8" standalone="no"?> <!-- COMMENT1 --> <ELEMENT> <ELEMENT2>TEXT</ELEMENT2> <!-- COMMENT2 --> <empty_ELEMENT /> <empty_ELEMENT2 NAME="VALUE" NAME2="VALUE2" /> </ELEMENT>声明: 根: 节点: 文本: 注释: 属性: 子节点: 父节点: |
<?xml version="1.0" encoding="utf-8" standalone="no"?> <ELEMENT> 是 ELEMENT, TEXT, COMMENT, DECLARATION TEXT COMMENT1 和 COMMENT2 NAME="VALUE" 与 NAME2="VALUE2" ELEMENT2 是 ELEMENT 的子节点; ELEMEN 是 ELEMENT2 的父节点 |
插件函数
|
"[1|0]" | "1" "0" |
-将所有空白字符压缩为单个空格(默认设置)。 -不压缩所有空白字符。 |
|
"[encoding]" | "" "UTF8" "LEGACY" |
-自动检测编码,使用 UTF-8 或 ANSI(默认) -强制使用 Unicode UTF-8 编码 -强制使用 ANSI 编码 |
|
"[file]" | - 加载该文件 |
$var | "0" 成功 "-1" 出现错误 |
|
"[file]" | - 保存此文件,如果为空,则保存当前加载的文件。 |
$var | "0" 成功 "-1" 出现错误 |
|
$var1 | Version (例如 "1.0") |
$var2 | "0" 成功 "-1" 出现错误 |
|
$var1 | 编码属性 (例如 "utf-8") |
$var2 | "0" 成功 "-1" 出现错误 |
|
$var1 | 独立属性 (例如 "yes") |
$var2 | "0" 成功 "-1" 出现错误 |
|
$var1 | 元素文本 |
$var2 | "0" 成功 "-1" 出现错误 |
|
"[value]" | - 要设置的文本 |
$var | "0" 成功 "-1" 出现错误 |
|
"[0|1]" | "0" - 关闭(默认) "1" - 打开 |
$var | "0" 成功 "-1" 出现错误 |
|
$var | "1" 当前节点使用 CDATA "0" 未使用 CDATA "-1" 当前节点不是文本 |
|
$var | 节点值 |
|
"[value]" | - 设置此值 |
|
"[name]" | - 由名称指定的元素,如果为空则返回所有找到的元素 |
$var1 | 名称 |
$var2 | "0" 成功 "-1" 出现错误 |
|
|
$var1 | 根元素的名称 (唯一的顶级元素) |
$var2 | "0" 成功 "-1" 出现错误 |
|
"[name]" | - 查找由名称指定的第一个子元素,如果为空则返回第一个找到的元素 |
$var1 | 名称 |
$var2 | "0" 成功 "-1" 出现错误 |
|
"[name]" | - 查找由名称指定的第一个子节点,如果为空则返回第一个找到的节点 |
$var1 | 名称 |
$var2 | "0" 成功 "-1" 出现错误 |
|
"[name]" | - 查找由名称指定的最后一个子节点,如果为空则返回最先找到的 |
$var1 | 名称 |
$var2 | "0" 成功 "-1" 出现错误 |
|
$var1 | 名称 |
$var2 | "0" 成功 "-1" 出现错误 |
|
$var | "1" 当前节点没有子节点 "0"当前节点有子节点 |
|
"[name]" | - 查找由名称指定的下一个同级元素,如果为空则返回第一个找到的元素 |
$var1 | 名称 |
$var2 | "0" 成功 "-1" 出现错误 |
|
"[name]" | - 查找由名称指定的下一个同级节点,如果为空则返回第一个找到的节点 |
$var1 | 名称 |
$var2 | "0" 成功 "-1" 出现错误 |
|
"[name]" | - 查找由名称指定的前一个同级节点,如果为空则返回第一个找到的节点 |
$var1 | 名称 |
$var2 | "0" 成功 "-1" 错误 |
|
"[handle]" | - 插入此节点 (句柄由 xml::NodeHandle, xml::CreateText, xml::CreateNode, xml::CloneNode 返回) |
$var | "0" 成功 "-1" 错误 |
|
"[handle]" | - 插入该节点 (句柄由 xml::NodeHandle, xml::CreateText, xml::CreateNode, xml::CloneNode 返回) |
$var | "0" 成功 "-1" 错误 |
|
"[handle]" | - Insert this node (句柄由 xml::NodeHandle, xml::CreateText, xml::CreateNode, xml::CloneNode 返回) |
$var | "0" 成功 "-1" 错误 |
|
"[handle]" | - 替换为此节点 (句柄由 xml::NodeHandle, xml::CreateText, xml::CreateNode, xml::CloneNode 返回) |
$var | "0" 成功 "-1" 错误 |
|
$var | "0" 成功 "-1" 错误 |
|
|
"[text]" | - 在内存中创建此文本 |
$var | 文本节点的句柄 "0" 错误 |
|
"[text]" | - 在内存中创建此节点 |
$var | 节点句柄 "0" 错误 |
|
$var | 节点句柄 "0" 错误 |
|
"[handle]" | - Free this node (句柄由 xml::CreateText, xml::CreateNode, xml::CloneNode 返回) |
$var | "0" 成功 "-1" 错误 |
|
"[expression]" | - XPath 表达式 (例如 "count(//@*)") |
$var1 | 结果字符串 |
$var2 | "0" 成功 "-1" 错误 |
|
"[expression]" | - XPath表达式 (例如 "/a/b") |
$var | "0" 成功 "-1" 错误 |
|
"[expression]" | - XPath 属性 (例如 "/a/b/@attr") |
$var | "0" 成功 "-1" 错误 |
|
$var | 当前节点句柄 "0" 错误 |
|
"[handle]" | - Go to this node (句柄由 xml::NodeHandle 返回) |
$var | "0" 成功 "-1" 错误 |
|
$var | 当前元素路径 (例如 "/a/b/c[3]/d") |
|
"[path]" | - 跳转到此路径(例如,从根路径 "/a/b[2]/c/d",从当前元素 "a/b[2]/c/d",使用最后一个元素 'b' "a/b[-1]/c/d",使用任意最后一个元素 "a/[-1]/c/d",跳转到文档开头 "") |
$var | "0" 成功 "-1" 错误 |
|
$var | "ELEMENT" "COMMENT" "DOCUMENT" "TEXT" "DECLARATION" "UNKNOWN" |
|
$var1 | Row |
$var2 | Column |
$var3 | "0" 成功 "-1" 错误 |
|
"[name]" | - 查找由名称指定的属性 |
$var1 | 属性值 |
$var2 | "0" 成功 "-1" 错误 |
|
"[name]" | - 属性名称 |
"[value]" | - 属性值 |
$var | "0" 成功 "-1" 错误 |
|
"[name]" | - 属性名称 |
$var | "0" 成功 "-1" 错误 |
|
$var1 | 属性名称 |
$var2 | 属性值 |
$var3 | "0" 成功 "-1" 错误 |
|
$var1 | 属性名称 |
$var2 | 属性值 |
$var3 | "0" 成功 "-1" 错误 |
|
$var1 | 属性名称 |
$var2 | 属性值 |
$var3 | "0" 成功 "-1" 错误 |
|
$var1 | 属性名称 |
$var2 | 属性值 |
$var3 | "0" 成功 "-1" 错误 |
|
$var1 | 属性名称 |
$var2 | 属性值 |
$var3 | "0" 成功 "-1" 错误 |
|
"[name]" | - 属性名称 |
|
"[value]" | - 属性值 |
|
标签:XML,xml,插件,var1,name,var2,NSIS,var,节点 From: https://www.cnblogs.com/NSIS/p/17860486.html