StupidBeauty
Read times:1713Posted at: - no title specified

Nokogiri 教程翻译 :确保输出的内容符合规范 ,Ensuring Well-formed Markup

内容目录

优雅的符合规范的格式

严格的符合规范

优雅 的符合规范的格式

如今,到处 者是不符合规范的标记文档。在此,我所说的是,那些没有正确地关闭标记的文档。还有,将 <p> 标记放置 在别的 <p> 标记内部 ,以及,将文本内容放置在 <img> 标记 中。

Nokogiri 神奇地 纠正不符合规范的内容,类似于浏览器在渲染之前所做的那样。

badly_formed = <<- EOXML

<root>

  <open>foo

    <closed>bar</closed>

</root>

EOXML

bad_doc  = Nokogiri :: XML badly_formed

puts bad_doc         # => <?xml version="1.0"?>

#    <root>

#      <open>foo

#        <closed>bar</closed>

#    </open>  

#    </root>

甚至,如果关闭了NOERRORS 和NOWARNINGS 选项(对于XML文档的默认选项)的话,则,Nokogiri会尝试跟踪到错误的具体原因。

puts bad_doc .errors # => Opening and ending tag mismatch: open line 2 and root

#    Premature end of data in tag root line 1

这样,妳就可以 errors.empty? 来确定,文档是否符合规范。

严格的符合规范

友好待人且修复文档中的错误,是一件好事,但是,有些时候,就是要 严格 要求

如果妳对自己的XML严格要求,那么,妳可以将Nokogiri配置“严格”解析模式,在这种模式下,它会在第一次发现文档中的错误时就抛出一个异常:

begin

  bad_doc = Nokogiri :: XML(badly_formed) { |config| config.strict }

rescue Nokogiri :: XML :: SyntaxError => e

puts "caught exception: #{e} "

end

# => caught exception: Premature end of data in tag root line 1

未知美人

未知美人

Your opinions

Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4