2012-11-05 41 views
4

我是;我希望我能够很好地向你描述我的问题。Jmeter正则表达式提取器找到xml中的ItemID

我想用正则表达式从xml元素中提取ItemID属性。然后我在另一个请求中使用它。这是我想从提取项目ID的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 

在我已经设置了项目ID如下的第二请求... ItemID = $ {item} ...

我知道,当我使用默认值设置为“Col_001”它工作正常。所以我的表情显然有一个问题。

回答

3

试试这个表达式:

\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 
-------------------------------------------------------------------------------- 
    "      '"' 
1

请尝试以下正则表达式:

ItemID="(.+)" 
相关问题