如何使用 apigee 中的 ExtractVariables 策略读取响应返回的 xml 项列表的第二个元素?
How to read 2nd element of list of xml items returned in response using ExtractVariables policy in apigee?
我收到一个 XML 负载响应目标系统,它遵循以下结构...
<feed xmlns="http://www.w3.org/2005/Atom">
<title/>
<id>7c818dcd-d66a-4273-b043-ff468b956d1b</id>
<link rel="self" href="http://fhirtest.uhn.ca/baseDstu1/Patient?address=usa"/>
<link rel="next" href="http://fhirtest.uhn.ca/baseDstu1?_getpages=943fd84d-1f93-4c97-8bba-534e944e74cf&_getpagesoffset=10&_count=10&_format=xml&_pretty=true"/>
<link rel="fhir-base" href="http://fhirtest.uhn.ca/baseDstu1"/>
</feed>
并且正在尝试使用提取变量策略来获取 <link>
标记的 href 属性的值,其中属性 rel="next".
以下是我编写的提取变量策略,它提取第一个 <link>
标记的属性 href 的值。
<ExtractVariables name="ReadLinkURLs">
<Source>response</Source>
<XMLPayload>
<Namespaces>
<Namespace prefix="patient">http://www.w3.org/2005/Atom</Namespace>
</Namespaces>
<Variable name="href" type="string">
<XPath>/patient:feed/patient:link/@href</XPath>
</Variable>
</XMLPayload>
<VariablePrefix>pagingpatient</VariablePrefix>
</ExtractVariables>
变量'href'设置为字符串“http://fhirtest.uhn.ca/baseDstu1/Patient?address=usa”,即第一个值。您能否建议我必须进行哪些更改才能读取 rel="next"
中 <link>
元素的 href
属性值。提前致谢。
我不知道 apigee,但是将 <link>
元素限制为仅具有 rel
属性值等于 "next"
的 XPath 谓词表达式是 [@rel='next']
。所以,您的整个 XPath 表达式应该如下所示:
<XPath>/patient:feed/patient:link[@rel='next']/@href</XPath>
我收到一个 XML 负载响应目标系统,它遵循以下结构...
<feed xmlns="http://www.w3.org/2005/Atom">
<title/>
<id>7c818dcd-d66a-4273-b043-ff468b956d1b</id>
<link rel="self" href="http://fhirtest.uhn.ca/baseDstu1/Patient?address=usa"/>
<link rel="next" href="http://fhirtest.uhn.ca/baseDstu1?_getpages=943fd84d-1f93-4c97-8bba-534e944e74cf&_getpagesoffset=10&_count=10&_format=xml&_pretty=true"/>
<link rel="fhir-base" href="http://fhirtest.uhn.ca/baseDstu1"/>
</feed>
并且正在尝试使用提取变量策略来获取 <link>
标记的 href 属性的值,其中属性 rel="next".
以下是我编写的提取变量策略,它提取第一个 <link>
标记的属性 href 的值。
<ExtractVariables name="ReadLinkURLs">
<Source>response</Source>
<XMLPayload>
<Namespaces>
<Namespace prefix="patient">http://www.w3.org/2005/Atom</Namespace>
</Namespaces>
<Variable name="href" type="string">
<XPath>/patient:feed/patient:link/@href</XPath>
</Variable>
</XMLPayload>
<VariablePrefix>pagingpatient</VariablePrefix>
</ExtractVariables>
变量'href'设置为字符串“http://fhirtest.uhn.ca/baseDstu1/Patient?address=usa”,即第一个值。您能否建议我必须进行哪些更改才能读取 rel="next"
中 <link>
元素的 href
属性值。提前致谢。
我不知道 apigee,但是将 <link>
元素限制为仅具有 rel
属性值等于 "next"
的 XPath 谓词表达式是 [@rel='next']
。所以,您的整个 XPath 表达式应该如下所示:
<XPath>/patient:feed/patient:link[@rel='next']/@href</XPath>