考虑以下代码:
require 'nokogiri' # v1.5.2
doc = Nokogiri.XML('<body><a name="foo">ick</a></body>')
puts doc.to_html
#=> <body><a name="foo">ick</a></body>
puts doc.to_xml
#=> <?xml version="1.0"?>
#=> <body>
#=> <a name="foo">ick</a>
#=> </body>
puts doc.to_xhtml
#=> <body>
#=> <a name="foo" id="foo">ick</a>
#=> </body>
id
请注意已创建的新属性。
- 谁对此负责,Nokogiri 还是 libxml2?
- 为什么会出现这种情况?(这是强制执行标准吗?)
我能找到的最接近的是这个规范,描述了如何将anid
和name
attribute 设置为相同的值。 - 有什么办法可以避免这种情况,因为希望
to_xhtml
在可能有的输入上使用该方法<a name="foo">
?
出现此问题是因为我有一些输入,我正在解析一个元素上的属性和一个带有碰巧发生冲突id
的属性的单独元素。name