[vault(foo)] 可以单独解析,也可以作为表达式的开头使用(例如,[vault(foo) | equals(bar)] 用于检查 foo 配置库值是否等于 bar)。
CSV 函数
csv(value)
在从 CSV 文件加载数据后使用。csvListRecords 操作会解析 CSV 文件,而 CSV 格式化器会像其他格式化器一样,通过从 CSV 文档生成值来运行。
- value:用于查找值的 CSV 列标题字符串。如果 CSV 文件没有标题,并且你将 requireheader 属性设置为 false,则可以通过通用索引(c1、c2、c3、…)访问列。
示例
在以下片段中,CSV 文档在 ArcScript 的内存中定义。csvListRecords 操作,并从示例 CSV 文档显示 CSV 格式化器。
JSON 函数
hasjsonpath(jsonpath)
检查输入的 jsonpath 是否存在于 JSON 文档中,并返回布尔值(true/false)。- jsonpath:要检查的相对 jsonpath。
示例
isjsonpathnull(jsonpath, [ifTrue], [ifFalse])
检查输入的 jsonpath;如果 jsonpath 为 null 或不存在,则返回布尔值(true/false)。- jsonpath:要检查的可选相对 json。
- ifTrue:如果格式化器解析为 true,则返回的可选值。
- ifFalse:如果格式化器解析为 false,则返回的可选值。
示例
jsonpath(jsonpath)
可以在调用具有可用 JSON DOM 的 JSON 操作时使用此格式化器。可以使用 jsonDOMSearch 和 jsonDOMGet 操作来解析 JSON 文档。jsonpath 格式化器是 DOM 对象的格式化器,它像其他格式化器一样通过从 JSON 文档生成值来运行。它会返回 JSON 文档的当前 jsonpath 位置。也可以提供相对 jsonpath 字符串来查找关联的 JSON 值。- jsonpath:用于查找关联 JSON 值的可选相对 jsonpath。
示例
jsonsubtree(jsonpath)
可以使用 jsonsubtree 从嵌套 JSON 结构中解析 JSON 子树。- jsonpath:可选的相对 jsonpath 字符串,用于指示从结构的哪个层级开始。
示例
以下脚本在 JSON 数据的/json/Event/Attendees 对象下包含三个 User 条目。Attendees 对象是根对象的子树。
. 字符,它指示脚本根据其在根对象中的位置使用当前 jsonpath。这里,该路径为 /json/Event/Attendees,会返回全部三个条目。
下图显示了它在日志页面的应用程序日志中的显示方式:

/json/Event/Attendees 中第二次出现的 User jsonpath 的子树,请将 jsonsubtree 格式化器调用中的路径替换为 jsonsubtree(User/\[2\])。这会产生以下输出:
jsontype(jsonpath)
返回当前 JSON 名称-值对的数据类型(字符串、数字、对象、数组或布尔值)。- jsonpath:用于查找关联 JSON 值的可选相对 jsonpath。
示例
XML 函数
hasxpath(xpath)
检查输入的 xpath 是否存在于 XML 文档中,并返回布尔值(true/false)。- xpath:要检查的相对 xpath。
示例
isxpathnull(xpath, [ifTrue], [ifFalse])
检查输入的 xpath;如果 xpath 为 null 或不存在,则以xsi:nil XML 属性(xsi:nil="true/false")的形式返回布尔值。使用 ifTrue 和 ifFalse 参数指定条件满足和不满足时的替代值。
- xpath:要检查的可选相对 xpath。
- ifTrue:如果格式化器解析为 true,则返回的可选值。
- ifFalse:如果格式化器解析为 false,则返回的可选值。
示例
xpath(xpath)
在调用具有可用 XML DOM 的 XML 操作时使用。可以使用 xmlDOMSearch 和 xmlDOMGet 操作来解析 XML 文档。XPath 格式化器是 DOM 对象的格式化器,它像其他格式化器一样通过从 XML 文档生成值来运行。它会返回 XML 文档的当前 XPath 位置。- xpath:用于查找关联 XML 值的可选相对 XPath 字符串。
示例
在以下片段中,XML 文档在 ArcScript 的内存中定义。A 元素,但只显示最终 B 元素中的 Value_Three,因为 [xpath(B)] 会忽略其他元素中的值。
xpathcount(xpath)
类似于 XPath 格式化器,但它返回与所提供 XPath 匹配的元素的计数。在调用具有可用 XML DOM 的 XML 操作时使用。可以使用 xmlDOMSearch 和 xmlDOMGet 操作来解析 XML 文档。XPathCount 格式化器是 DOM 对象的格式化器,它像其他格式化器一样通过从 XML 文档生成计数来运行。- xpath:用于计算计数的可选相对 XPath 字符串。
示例
2 作为输出。
xsubtree(xpath)
从嵌套 XML 结构中解析 XML 树。- xpath:可选的相对 XPath 字符串,用于指示从结构的哪个层级开始。
示例
在下面的示例 XML 文档中,/Event/Attendees 下有三个条目。
xsubtree 命令中的 . 字符指示脚本使用当前 xpath。在此示例中,该路径为 /Event/Attendees,会返回全部三个条目:
/Event/Attendees xpath 中第二次出现的 User 子树,请将命令替换为 xsubtree(User[2])。其结果为:
其他函数
guid(includehyphens)
生成全局唯一标识符 (GUID) 值。默认情况下,格式化器会在单个未格式化字符串中返回所有字符。要包含符合标准 8-4-4-4-12 GUID 格式的连字符,请使用 includehyphens 参数并将其设置为 true。- includehyphens:设置为 true 可在返回的 GUID 中包含连字符。
示例
vault(ItemName, [ifnotexists], [provider])
返回全局设置配置库中与所提供 ItemName 值匹配的配置库项目值。默认情况下,如果配置库项目不存在,则会抛出错误。- ItemName:要检索的配置库项目名称。名称仅在同一个提供程序内唯一。
-
ifnotexists:为防止配置库项目不存在时抛出错误,请提供此可选参数和默认值,例如
value does not exist。当找不到具有指定 ItemName 的配置库项目,或指定的提供程序中不存在该项目时,会返回该值。此参数不会抑制名称冲突错误;如果请求确实存在歧义,无论是否提供此参数都会抛出错误。 如果 provider 与任何已配置的提供程序名称都不匹配,该格式化器将静默解析为空值,此时不会应用 ifnotexists 值。 -
provider:要从中读取的提供程序的显示名称,匹配时不区分大小写。本地配置库的提供程序名称为
Local。空字符串视为未提供此参数。
选择合适的写法:
- 如果名称在所有提供程序中唯一,请仅使用名称(
[Vault(itemName)])。这是最常见的情况。 - 如果同一名称存在于多个提供程序中,或者希望在脚本中明确指定读取来源,请添加 provider 参数。
ArcScript 编辑器中的配置库选择器会显示提供程序列,但插入的代码片段始终只包含名称:
[Vault(ItemName)]。如果该名称在多个提供程序中不唯一,请在插入代码片段后手动添加 provider 参数。在脚本上下文中引用加密配置库项目时请务必小心,以确保日志中不包含敏感信息。