Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SOAVIRT_9.10.6_CTP_3.1.2

...

Table of Contents
maxLevel1


配置 XML 转换器

你可以配置以下选项:您可以配置以下选项:

    • 名称:Name指定转换器工具名。
    • Tree/Literal/Element: 指定预期的 XML 响应。可以使用 Literal 选项卡、 Tree 选项卡和 Element 选项卡以文字、树或简单元素的形式查看预期的 XML。
    • 所选元素:Selected Element:指定要添加的元素作为参数化值。
    • 提取元素:Extract Element:若要添加一个元素,请从 所选元素 Selected Element 列表中选择一个值,然后单击 提取元素 Extract Element 按钮。添加的值将显示在 所选元素 Selected Element 列表,该列表带有与所选工具对应的数据源列名和值名。
    • 删除:Remove若要删除一个 XPath,请从 所选元素 Selected Element 列表中选择一个值,然后单击 删除 Remove按钮。
    • 修改:Modify若要修改一个 XPath,请从 所选元素 Selected Element 列表中选择一个值,然后单击 修改 Modify按钮。Modify 对话框将显示并包含以下选项:
      • XPath: 显示所选定的 XPath。如果正在寻找更通用的 XPath,则可以很容易地在列表索引中键入不同的数字。例如,如果只对第二次出现感兴趣,则可以将 [1] 更改为 [2] 。编辑 XPath 文本之后,单击 Validate 按钮来验证 Xpath 格式,然后单击 OK
      • 选项:Options允许提取整个元素,或者只提取内容。
        • Entire Element: 选择 Entire Element 将输出完整的 XPath。例如, XPath/Parent 将输出 <parent>VALUE</parent>。你可以配置以下 整个元素选项:。您可以配置以下 Entire Element Options
        • Index to extract: 默认值为 1。在元素出现多次的情况下,此控件控制提取哪个元素。
        • Content Only: 选择 Content Only 将值输出值。例如, XPath/Parent 将输出 VALUE。你可以配置 。您可以配置 Text Content: 提取所选元素的文本内容,或 All Child Nodes: 提取所选定元素的所有子节点。
      • XPath Evaluation: 单击 Evaluate 按钮显示对预期 XML 应用 Xpath 表达式的结果。
    • 保存预期的 XML:Save Expected XML指定是否保存预期 XML。
    • Canonicalize XML Output: 指定提取的元素是否规范化。如果选中此选项,或者如果提取了整个元素,则如果提取的元素包含引用未在同一元素中声明的命名空间的前缀,将向该元素添加任何必要的命名空间声明。
    • 允许更改:Allow Alteration指定是否允许更改 XPath。当选择此选项时,将在 所选元素 Selected Element 列表下显示 Extract 选项卡和 Alter 选项卡。若要更改 XPath,请选择 允许更改 多选框,选择 Allow Alteration 多选框,选择 Alter 选项卡,通过单击 添加 Add 按钮添加 XPath,然后通过单击 修改 Modify 按钮修改 XPath。Modify 对话框将显示并包含以下选项:
      • XPath: 显示所选定的 XPath。若要编辑和验证一个所选定的 Xpath,请编辑 Xpath 文本,单击 Validate 按钮来验证 Xpath 格式,然后单击 OK
      • 变更类型:Alteration Type允许指定输入的 Value 如何更改 XML。
      • 选择 Append 将添加更改的值到 XPath 末尾。
      • 选择 Prepend 将添加更改的值到 XPath 起始端。
      • 选择 Replace With 将把整个 XPath 替换为指定的更改值。
      • 变更值:允许输入要更改 XPath 的值。
    • 提取空元素以:Extract Empty Elements As指定是否提取空的 XML 元素。启用此选项后,可以使用相邻的文本字段来指定一个文本字符串,此字符串指示应该为每个空的提取元素添加什么样的“占位符”值。注意,如果使用此选项,则需要额外的配置;请查阅 Handling Empty Elements to Maintain the Integrity of the XML Response
    • Wrap Output in XML 包装输出:指定 XML 转换器工具的输出是否为格式良好的 XML。

      如果选择此选项,内容将输出为格式良好的 XML。例如,XML 编码的值为:

      &lt;foo

      将输出为: 

      <root> <ElementName>&lt;foo&gt;</ElementName> </root>


参数化 XPaths

可以参数化 Xpaths 来引用 响应程序套件 变量、环境变量和数据源值。  引用变量的语法为 ${myVariableName}。引用 XML 数据库值和数据源值的语法为:${myColumnName}. 

例如,如果 ${XPath Key} 是数据源列名,则可以使用

/*[local-name(.)="bookstore" and namespace-uri(.)=""]/*[local-name(.)="book" 和

namespace-uri(.)=""][child::node()[local-name(.)="title" and text()="${XPath Key}"]]

处理空元素以维护 XML 响应的完整性
Anchor
Handling Empty Elements to Maintain the Integrity of the XML Response
Handling Empty Elements to Maintain the Integrity of the XML Response

默认情况下,将不会提取空元素。  这可能会影响可写数据源中使用的 XML 响应的完整性。例如,

Code Block
<e>5</e>
<e/>
<e>6</e>
会生成一个看起来像下面这样的可写数据源


Code Block
ROW 1 = 5
ROW 2 = 6
如果你喜欢在提取中表示所有节点(包括空元素):如果您喜欢在提取中表示所有节点(包括空元素):
  1. 启用 提取空元素为 Extract empty elements as
  2. (可选)如果希望为每个提取的空元素添加一个“占位符”值,请在相邻的文本字段中指定所需的占位符字符串。


     
  3. 选择指定要提取什么的 XPaths 之一,然后单击 修改 Modify
  4. 确保 Extract 选项设置为 Content only
  5. 删除相关 XPath(s) 末端的 /text() 。例如,如果当前 XPath 为 

    Code Block
    /*[local-name(.)="Envelope" and namespace-uri(.)="http://schemas.xmlsoap.org/soap/envelope/"]/.../*[local-name(.)="i" and namespace-uri(.)=""][1]/text()

    则将其编辑为

    Code Block
    /*[local-name(.)="Envelope" and namespace-uri(.)="http://schemas.xmlsoap.org/soap/envelope/"]/.../*[local-name(.)="i" and namespace-uri(.)=""][1]




  6. 根据需要,对其他 XPaths 重复步骤 3-5。