xmlDOMSearch

Version 24.3.9111


xmlDOMSearch


循环输入 XML 文档中的元素。

必需的参数

  • xpath: 要循环的指定段的从 1 开始的索引 xpath。 例如,<arc:set attr="myinputitem.xpath" value="/Items/foo/" />

可选的参数

  • uri: XML 文件 URI。 例如,http://mydomain.com/resources/somedata.xml/tmp/myfile.xml[FilePath]
  • text:对 XML 数据的可读句柄引用。 此句柄由 xmlOpen 操作创建,当输入 XML 不是文件或原始文本,或者需要执行访问文档的文件数据的多个操作时,此句柄非常有用。
  • handle: 对 XML 数据的可读句柄引用。 该句柄由 xmlOpen 操作创建,仅当目标 XML 不是输入文件时才需要。 有关详细信息和示例,请参阅 xmlOpen

输出属性

  • xpath: 返回正在循环的指定元素的完整从 1 开始的索引 xpath。 例如,[myoutitem.xpath]解析为fooXML 元素的 xpath,即/Items/foo[1]
  • xname: 返回正在循环的元素的名称。 例如,[myoutitem.xname]解析为fooXML 元素的名称,即foo。 示例 ——-

考虑以下的 XML 数据,它作为输入数据传递给知行之桥的 Script 端口:

<Items>
    <hello>world</hello>
    <colors>
        <color>yellow</color>
        <example>banana</example>
    </colors>
    <colors>
        <color>red</color>
        <example>apple</example>
    </colors>
    <colors>
        <color>orange</color>
        <example>orange</example>
    </colors>
</Items>

可以使用 xmlDOMSearch 操作枚举每个<colors>父元素中的所有子元素,如下所示:

<!-- 设置输入uri和xpath -->
<arc:set attr="xml.uri" value="[FilePath]" />
<arc:set attr="xml.xpath" value="/Items/colors" />

<!-- 调用操作,传入xml项-->
<arc:call op="xmlDOMSearch" in="xml" >
  <!-- 在调用内部,您可以引用相对于输入“xpath”的路径中的元素 -->
  <!-- 在此示例中,每种颜色和示例均写入输出数据 -->
  <arc:set attr="_log.info" value="Color = [xpath(color)]" />
  <arc:set attr="_log.info" value="Example = [xpath(example)]" />
</arc:call>

<!-- 设置输出文件并推送文件 -->
<arc:set attr="output.filepath" value="[FilePath]" />
<arc:push item="output" />

应用程序日志中的输出如下所示: