validate xml against xsd

 

require  'rubygems'
require 'xml'

xml_file = "f:\\xml\\1.xml"
xsd_file = "f:\\xml\\2.xsd"
document = LibXML::XML::Document.file(xml_file)
schema = XML::Schema.document(LibXML::XML::Document.file(xsd_file))
begin
  document.validate_schema(schema)
rescue => e
  p e
end

Error: Element '项目1名称': This element is not expected. Expected is ( 项目名称 ). at file:///f:/xml/1.xml:14.
Error: Element '计日工': This element is not expected. Expected is ( 暂估价 ). at file:///f:/xml/1.xml:98.

 

参考资料:

在线验证:http://www.freeformatter.com/xml-validator-xsd.html

http://xml4r.github.io/libxml-ruby/rdoc/classes/LibXML/XML/Schema.html

https://github.com/stevo/xml_validator

你可能感兴趣的:(xml,xsd,schema,libxml)