说我有以下XML ...
<root>
<base>
<tent key="1" color="red"/>
<tent key="2" color="yellow"/>
<tent key="3" color="blue"/>
</base>
<bucket>
<tent key="1"/>
<tent key="3"/>
</bucket>
</root>
......会中的XPath是什么,返回的“桶”中包含“红”“蓝”?
说我有以下XML ...
<root>
<base>
<tent key="1" color="red"/>
<tent key="2" color="yellow"/>
<tent key="3" color="blue"/>
</base>
<bucket>
<tent key="1"/>
<tent key="3"/>
</bucket>
</root>
......会中的XPath是什么,返回的“桶”中包含“红”“蓝”?
如果您使用XSLT,我建议建立一个键:
<xsl:key name="tents" match="base/tent" use="@key" />
然后,您可以得到<tent>
中<base>
与特定key
使用
key('tents', $id)
然后,你可以做
key('tents', /root/bucket/tent/@key)/@color
或者,如果$bucket
是一个特定的<bucket>
元素,
key('tents', $bucket/tent/@key)/@color
我认为这将工作:
/root/base/tent[/root/bucket/tent/@key = @key ]/@color
这不是漂亮。 对于任何查询,您需要使用电流():
/根/桶[/根/基/10吨[@key =电流()/帐篷/ @键] / @颜色= '蓝色' 或/根/基/10吨[@key =电流()/帐篷/ @键] / @颜色= '红色']
JeniT有这里列出相应的反应/代码。 你需要你走在XML文档之前创建的键,然后针对重点进行匹配。