1
给定的XMLRuby:如何使用xpath从特定元素查找XML子元素?
<a>
<b key=1>
<c value=xxx />
</b>
<b key=2>
<c value=yyy />
</b>
</a>
目标:获取每一个 “B”,然后再获得 “C” 根据该 “B”,像下面的结果。用XPath搜索孩子。
for <b key=1>
<c value=xxx />
for <b key=2>
<c value=xxx />
,但下面的代码
b_elements = XPath.match(xml, "//b[@key]")
b_elements.each do |b_element|
puts b_element.elements["//c"]
end
将导致yeilding
for <b key=1>
<c value=xxx />
<c value=yyy />
for <b key=2>
<c value=xxx />
<c value=yyy />
,而不是刚刚起步的 “C” 下的每个 “B”
我曾尝试以下方法但没有运气,似乎如果使用Xpath,它会自动搜索根目录换货
b.get_elements("//c")
XPath.first(b, "//c")
我现在的解决方法是遍历子元素1层的时间和搜索所需的密钥,这似乎是相当愚蠢的比较使用XPath。 请指教,谢谢:)
它通过使用“.//c”,谢谢 –