Tôi đang cố gắng phân tích các tệp XML bằng Nokogiri, Ruby và XPath. Tôi thường không gặp phải bất kỳ vấn đề nhưng với những điều sau đây tôi không thể thực hiện bất kỳ yêu cầu xpath:XPath trong Nokogiri trả về mảng trống [] trong khi tôi mong đợi có kết quả
doc = Nokogiri::HTML(open("myfile.xml"))
doc.("//Meta").count
# result ==> 0
doc.xpath("//Meta")
# result ==> []
doc.xpath(.).count
# result => 1
Dưới đây là một phiên bản đơn giản của file XML của tôi
<Answer xmlns="test:com.test.search" context="hf%3D10%26target%3Dst0" last="0" estimated="false" nmatches="1" nslices="0" nhits="1" start="0">
<time>
...
</time>
<promoted>
...
</promoted>
<hits>
<Hit url="http://www.test.com/" source="test" collapsed="false" preferred="false" score="1254772" sort="0" mask="272" contentFp="4294967295" did="1287" slice="1">
<groups>
...
</groups>
<metas>
<Meta name="enligne">
<MetaString name="value">
</MetaString>
</Meta>
<Meta name="language">
<MetaString name="value">
fr
</MetaString>
</Meta>
<Meta name="text">
<MetaText name="value">
<TextSeg highlighted="false" highlightClass="0">
La
</TextSeg>
</MetaText>
</Meta>
</metas>
</Hit>
</hits>
<keywords>
...
</keywords>
<groups>
...
</groups>
thế nào có thể Tôi nhận được tất cả trẻ em của <Hit>
từ XML này?
Những gì người khác đã nói nhưng cũng Nokogiri :: HTML sẽ viết thường tên thẻ. Bạn muốn Nokogiri :: XML thay vì – pguardiario