有没有办法找到节点中的特定值,然后返回其所有兄弟值?
例如,我想找到id
包含 ID 5678 的节点,然后获取电子邮件地址以及与 ID 5678 关联的所有图像。
Nokogiri::XML.parse(File.open('info.xml'))
这是一个示例 XML 文件。
<xmlcontainer>
<details>
<id>1234</id>
<email>[email protected]</email>
<image>images/1.jpg</image>
<image>images/2.jpg</image>
<image>images/3.jpg</image>
</details>
<details>
<id>5678</id>
<email>[email protected]</email>
<image>images/4.jpg</image>
<image>images/5.jpg</image>
</details>
<details>
<id>9011</id>
<email>[email protected]</email>
<image>images/6.jpg</image>
<image>images/7.jpg</image>
</details>
</xmlcontainer>
您可以使用~
,这是 css 通用同级选择器:
doc.search('id[text()="5678"] ~ *').map &:text
#=> ["[email protected]", "images/4.jpg", "images/5.jpg"]
将 css 与 xml 一起使用有点奇怪,但它看起来更容易(比 xpath )。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)