我正在创建一个
XML文档:我想至少进行单元测试,以确保它的格式正确.
到目前为止,我只能通过使用REXML库中的’hasElements’来估算它.
到目前为止,我只能通过使用REXML库中的’hasElements’来估算它.
有没有更好的办法 ?
最好使用内置库(我的意思是随标准Ruby 1.8.x发行版一起提供的库).
require "test/unit" require 'rexml/document' require 'test/unit/ui/console/testrunner' include REXML class TestBasic < Test::Unit::TestCase def test_createXML my_xml=...create doc here... doc = Document.new(my_xml); assert(doc.has_elements?); end end Test::Unit::UI::Console::TestRunner.run(TestBasic);
解决方法
You can use Nokogiri.
它不是标准的Ruby库,但您可以轻松地将其安装为Gem.
它不是标准的Ruby库,但您可以轻松地将其安装为Gem.
begin bad_doc = Nokogiri::XML(badly_formed) { |config| config.options = Nokogiri::XML::ParSEOptions::STRICT } rescue Nokogiri::XML::SyntaxError => e puts "caught exception: #{e}" end # => caught exception: Premature end of data in tag root line 1