xml - Jmeter 正则表达式提取器在 xml 中查找 ItemID

标签 xml regex expression jmeter extractor

我是 的新手;我希望我能向您充分描述我的问题。

我正在尝试使用正则表达式从 xml 元素中提取 ItemID 属性。然后我在另一个请求中使用它。这是我试图从中提取 ItemID 的 XML 响应:

<?xml version="1.0" encoding="UTF-8"?>
<Promise >
 <SuggestedOption>
      <Option TotalShipments="1">
           <PromiseLines TotalNumberOfRecords="1">
                <PromiseLine ItemID="Col_001" >
                     <Assignments>
                          <Assignment InteractionNo="1" >
                          </Assignment>
                     </Assignments>
                </PromiseLine>
           </PromiseLines>
     </Option>
 </SuggestedOption>
</Promise>

我的正则表达式提取器设置如下:

Reference Name: item
Regular Expression: .?ItemID=(.+?)*
Template: $1$
Match No.: 1

在第二个请求中,我将 ItemID 设置如下 ... ItemID=${item} ...

我知道当我使用设置为“Col_001”的默认值时它工作正常。所以很明显我的Expression有问题。

最佳答案

试试这个表达式:

\bItemID\s*=\s*"([^"]*)"

解释

NODE                     EXPLANATION
--------------------------------------------------------------------------------
  \b                       the boundary between a word char (\w) and
                           something that is not a word char
--------------------------------------------------------------------------------
  ItemID                   'ItemID'
--------------------------------------------------------------------------------
  \s*                      whitespace (\n, \r, \t, \f, and " ") (0 or
                           more times (matching the most amount
                           possible))
--------------------------------------------------------------------------------
  =                        '='
--------------------------------------------------------------------------------
  \s*                      whitespace (\n, \r, \t, \f, and " ") (0 or
                           more times (matching the most amount
                           possible))
--------------------------------------------------------------------------------
  "                        '"'
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    [^"]*                    any character except: '"' (0 or more
                             times (matching the most amount
                             possible))
--------------------------------------------------------------------------------
  )                        end of \1
--------------------------------------------------------------------------------
  "                        '"'

关于xml - Jmeter 正则表达式提取器在 xml 中查找 ItemID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224425/

相关文章:

xml - XSLT - 识别具有相同属性值模式的连续节点

xml - XSLT - 用于获取嵌套 XML 节点的递归模板用法

c - 具有两个相同大小的操作数的表达式的类型是什么?

r - 基准测试:使用 `expression` `quote` 或都不使用

C++ 正则表达式仅找到 1 个子匹配项

c# - 评估选择投影

java - 使用 JAXB 从 XSD 生成元素 java 类

Android 创建动态字符串数组

r - R中的数据匹配

php - 在 Laravel 验证正则表达式规则中验证纬度/经度 - preg_match() : No ending delimiter '/' found