Rails:解析具有相同路径名的 XML 文档

发布于 2024-12-12 03:04:33 字数 266 浏览 0 评论 0原文

我有一个包含同名路径的文档。例如:

 xml_doc = Nokogiri::XML(response.body)
  photo = xml_doc.xpath('person').xpath('photos').xpath('photo').xpath('url').inner_text

它返回几张照片(因为所有照片都有相同的路径名)。

我该如何对 Nokogiri 说只返回第一个呢?或者里面有一根绳子?

谢谢

I have a document with paths with the same name. For example:

 xml_doc = Nokogiri::XML(response.body)
  photo = xml_doc.xpath('person').xpath('photos').xpath('photo').xpath('url').inner_text

It returns several photos (because all photos have the same path names).

How can I say to Nokogiri to just return the first one? Or one that has a string inside?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

酒绊 2024-12-19 03:04:33
xml_doc.xpath('person/photos/photo/url')[0]

或者

xml_doc.xpath('person/photos/photo/url[not(text()="")]')[0]
xml_doc.xpath('person/photos/photo/url')[0]

or

xml_doc.xpath('person/photos/photo/url[not(text()="")]')[0]
山色无中 2024-12-19 03:04:33

您还可以使用 at_css 方法:

 xml_doc.at_css('person photos photo url')
 # just css will return all, just like xpath
 xml_doc.css('person photos photo url')

就个人而言,我发现 cssat_css 更直观且更易于使用。

You can also use the at_css method:

 xml_doc.at_css('person photos photo url')
 # just css will return all, just like xpath
 xml_doc.css('person photos photo url')

Personally, I find css and at_css much more intuitive and easier to use.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文