我正在使用Nokogiri解析XML。
我可以检索样式表。但不是每个样式表的属性。
1.9.2p320 :112 >style = xml.xpath('//processing-instruction("xml-stylesheet")').first
=> #<Nokogiri::XML::ProcessingInstruction:0x5459b2e name="xml-stylesheet">
style.name
=> "xml-stylesheet"
style.content
=> "type=\"text/xsl\" href=\"CDA.xsl\""
有没有简单的方法来获取类型,href属性值?
OR
唯一的办法是解析处理指令的内容(style.content)吗?
答案 0 :(得分:3)
我按照以下说明解释了这个问题。
Can Nokogiri search for "?xml-stylesheet" tags?
为Nokogiri :: XML :: ProcessingInstruction类添加了新的to_element方法
class Nokogiri::XML::ProcessingInstruction
def to_element
document.parse("<#{name} #{content}/>")
end
end
style = xml.xpath('//processing-instruction("xml-stylesheet")').first
element = style.to_element
检索href属性值
element.attribute('href').value
答案 1 :(得分:1)
你不能那样做吗?
style.content.attribute['type'] # or attr['type'] I am not sure
style.content.attribute['href'] # or attr['href'] I am not sure