3
我正在从LibXML切换到Nokogiri。我在我的代码中有一个方法来检查xml文档是否与Dtd匹配。 Dtd是从数据库中读取的(以字符串形式)。使用Nokogiri验证DTD字符串
这是一个IRB会话
require 'xml'
doc = LibXML::XML::Document.string('<foo bar="baz" />') #=> <?xml version="1.0" encoding="UTF-8"?>
dtd = LibXML::XML::Dtd.new('<!ELEMENT foo EMPTY><!ATTLIST foo bar ID #REQUIRED>') #=> #<LibXML::XML::Dtd:0x000000026f53b8>
doc.validate dtd #=> true
内的示例据我所知的Nokogiri::XML::Document
#validate
它是唯一可能的文档中检查的DTD。我如何做到这一点归档相同的结果?
我没有使用HTML,所以这不适用于我。我用'Nokogiri :: XML('')'创建了这个文档,这使我留下了'internal_subset => nil'。 –
krissi