我有两个soap响应,想要根据taskLabel提取Id。到目前为止我所做的是使用xpath查询:
//orderHeader/[@taskLabel='PROVIDE_QUOTE_OR_REJECT_RFQ']/@taskId
但它没有提取taskId。
我无法在下面的soap响应中针对<taskLabel>TEST_LABEL1</taskLabel>
提取任务ID:
<orderHeader>
<taskId>56657</taskId>
<taskName>Test Label</taskName>
<taskLabel>TEST_LABEL</taskLabel>
</orderHeader>
<orderHeader>
<taskId>56656</taskId>
<taskName>Test Label</taskName>
<taskLabel>TEST_LABEL1</taskLabel>
</orderHeader>
当我尝试使用此XPath查询时://orderHeader/taskId
它只从第一个soap响应中提取任务ID。
PS:我想提取的任务ID并不固定在任何响应中的第二个响应中。
任何帮助将不胜感激。 提前谢谢。
答案 0 :(得分:1)
使用@
引用元素属性。在您的情况下,taskLabel
和taskId
是元素,因此正确的XPath将是:
//orderHeader[taskLabel='PROVIDE_QUOTE_OR_REJECT_RFQ']/taskId
答案 1 :(得分:0)
使用此:
// orderHeader [TASKNAME /文本()=&#39; TEST_LABEL1&#39;] /的TaskID /文本()
答案 2 :(得分:-1)
你应该使用类似的东西:
//taskLabel[text()='TEST_LABEL1']/../taskId/text()
演示:
参考文献: