我有一个像下面的xml文档。我试图选择一个具有特定值的标题节点,例如"![CDATA[ 1234 ]]"
.该Title
节点可能位于任何Type
节点中。我正在使用这个 xpath 查询
/Results/ResultSet/Type[Title="![CDATA[ 1234 ]]"]
但没有选择任何东西。 有人可以帮忙吗?
<Results>
<Info>...</Info>
<ResultSet num="4">
<Type type="A">
<Title>
<![CDATA[ 1234 ]]>
</Title>
<Description>
<![CDATA[ 1234 ]]>
</Description>
<Domain>
<![CDATA[1234 ]]>
</Domain>
<Target>
<![CDATA[]]>
</Target>
</Type>
<Type type="A">
<Title>
<![CDATA[ abcdef ]]>
</Title>
<Description>
<![CDATA[abcdef]]>
</Description>
<Domain>
<![CDATA[abcdef]]>
</Domain>
<Target>
<![CDATA[abcdef]]>
</Target>
</Type>
编辑:包括我正在使用的红宝石代码
doc = Nokogiri::HTML(html)
Element = doc.xpath('/Results/ResultSet/Type/Title[text()=" 1234 "]')
if Element.empty?()
puts "not there "
else
Element.each do |node|
puts "Found Title: #{node.text}"
end
end
end
XPath 是错误的:
使用这个:
/Results/ResultSet/Type/Title[text()=" 1234 "]
根据为 XML 发布的 OP 链接,以下是工作 XPath:
/QuigoResults/ResultSet/Listing/Title[text()=" location in DYNAMICREGION "]