Groovy xml 处理语法
Groovy xml processing syntax
我有一个 XML 这样的:
<countries>
<country>
<country_id>10</country_id>
<providers>
<provider>
<id>1</id>
<name>Name</name>
</provider>
<provider>
<id>2</id>
<name>Name2</name>
</provider>
...
</country>
</countries>
这是我放心调用和测试的服务的响应。基于提供商 ID,我需要提取国家/地区 ID。在上面的例子中,对于 id=1,我需要 country_code = 10。(对于 id=2,country_code=10 也是一样的)。
我看到rest-assured使用groovy语法来遍历xml文档,但由于我没有使用groovy的经验,我被卡住了。
我正在尝试这样的事情(使用硬编码 ID):
path.getList("countries.country.findAll{country -> country.providers.provider.id == '1' }.country_id", Integer.class);
到 return ID 为 1 的提供者活跃的国家/地区的 ID,但这不起作用。
你能给我一些提示吗?
如果不止一个国家可以匹配,那么做这样的事情会更安全:
countries.country.findAll { country ->
country.providers.provider.any{ it.id == '1' }
}*.country_id
否则,它可能只是:
countries.country.find { it.providers.provider.any{ it.id == '1' }}.country_id
我有一个 XML 这样的:
<countries>
<country>
<country_id>10</country_id>
<providers>
<provider>
<id>1</id>
<name>Name</name>
</provider>
<provider>
<id>2</id>
<name>Name2</name>
</provider>
...
</country>
</countries>
这是我放心调用和测试的服务的响应。基于提供商 ID,我需要提取国家/地区 ID。在上面的例子中,对于 id=1,我需要 country_code = 10。(对于 id=2,country_code=10 也是一样的)。
我看到rest-assured使用groovy语法来遍历xml文档,但由于我没有使用groovy的经验,我被卡住了。
我正在尝试这样的事情(使用硬编码 ID):
path.getList("countries.country.findAll{country -> country.providers.provider.id == '1' }.country_id", Integer.class);
到 return ID 为 1 的提供者活跃的国家/地区的 ID,但这不起作用。
你能给我一些提示吗?
如果不止一个国家可以匹配,那么做这样的事情会更安全:
countries.country.findAll { country ->
country.providers.provider.any{ it.id == '1' }
}*.country_id
否则,它可能只是:
countries.country.find { it.providers.provider.any{ it.id == '1' }}.country_id