【发布时间】:2015-09-14 15:51:46
【问题描述】:
我正在尝试使用 Nokogiri 针对 XSD 验证 XML 文件。 当文件较小时,我使用文档方法验证:
xsd = Nokogiri::XML::Schema(File.read(Rails.root.join('files/xsd', self::XSD)))
xml = Nokogiri::XML(File.read(Rails.root.join('public/uploads', file_path)))
xsd.validate(xml).each do |error|
end
文件大的时候,前面的方法不好,因为需要很多资源,所以需要文件方法验证:
xsd = Nokogiri::XML::Schema(File.read(Rails.root.join('files/xsd', self::XSD)))
xml = Rails.root.join('public/uploads', file_path).to_s
xsd.validate(xml).each do |error|
end
但是第二种方式并没有向我显示简单的错误,例如属性中未闭合的双引号:
<?xml version="1.0"?>
<catalog version="123 xmlns="http://google.com">
<book id="bk101">
第一个确实如此。
【问题讨论】:
标签: ruby-on-rails ruby xml validation nokogiri