替换特定的 标记



我正在从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]选择器匹配属性值以指定值开头的每个元素。

相关内容

  • 没有找到相关文章

最新更新