我正在从XML文件中读取一些内容,该文件中包含以下链接:
<wcm:root xmlns:wcm="http://www.stellent.com/wcm-data/ns/8.0.0" version="8.0.0.0">
<wcm:element name="NotesToEditors">
<a href="ssNODE/something">Something</a>
<a href="ssNODE/hello">hello</a>
<a href="https//:www.linkkkk.com">linkkkk</a>
</wcm:element>
正在读取文件:
page_notes_to_editors = doc.xpath("/wcm:root/wcm:element[@name='NotesToEditors']").inner_text
执行清理:
notes = Nokogiri::XML.fragment(page_notes_to_editors)
notes.css('a[href="ssNODE]')
.each{|a| a.replace("<p>#{a.content}</p>")}
我尝试像这样转义双引号:
notes.css(a["href="ssNODE]")
它仍然抱怨。
但是当字符串中包含奇怪的字符时,这不起作用。这是我得到的错误:
`on_error': unexpected '"' after 'equal'
我想要的结果是将ssNODE
链接转换为保留其文本的段落。
有人对如何达到我想要的结果有任何建议吗?
在代码notes.css('a[href="ssNODE]')
中,您错过了"
。写成notes.css('a[href^="ssNODE"]')
记录在这里 CSS [attribute^=value] Selector
[attribute^=value]
选择器匹配属性值以指定值开头的每个元素。