首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换特定的<a>标记?

替换特定的<a>标记?
EN

Stack Overflow用户
提问于 2013-11-12 10:08:47
回答 1查看 52关注 0票数 0

我正在从一个XML文件中读取一些内容,其中包含以下链接:

代码语言:javascript
复制
<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> 

读取文件:

代码语言:javascript
复制
page_notes_to_editors = doc.xpath("/wcm:root/wcm:element[@name='NotesToEditors']").inner_text

进行清理工作:

代码语言:javascript
复制
notes = Nokogiri::XML.fragment(page_notes_to_editors)
notes.css('a[href="ssNODE]')
.each{|a| a.replace("<p>#{a.content}</p>")}

我试着像这样逃避双引号:

代码语言:javascript
复制
notes.css(a["href=\"ssNODE]")

它还在抱怨。

但是,当字符串中包含奇怪的字符时,这是不起作用的。这是我得到的错误:

代码语言:javascript
复制
`on_error': unexpected '"' after 'equal'

我想要的结果是将ssNODE链接转换为保留文本的段落。

有谁对如何达到我想要的结果有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-12 13:14:23

在代码notes.css('a[href="ssNODE]')中,您忽略了"。把它写成notes.css('a[href^="ssNODE"]')

这里有文档,CSS [attribute^=value] Selector

[attribute^=value]选择器匹配属性值以指定值开头的每个元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19926261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档