Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
好的简单的RubyXML编写器?_Ruby_Xml_Writer - Fatal编程技术网

好的简单的RubyXML编写器?

好的简单的RubyXML编写器?,ruby,xml,writer,Ruby,Xml,Writer,有人知道有一个易于使用的RubyXML编写器吗?我只需要编写一些简单的XML,但很难找到一个简单明了的XML。是Ruby的标准XML编写器。您可以从以下网站获得: 下面是一个例子: require 'builder' xml = Builder::XmlMarkup.new(:indent => 2) puts xml.root { xml.products { xml.widget { xml.id 10 xml.name 'Awesome Widge

有人知道有一个易于使用的RubyXML编写器吗?我只需要编写一些简单的XML,但很难找到一个简单明了的XML。

是Ruby的标准XML编写器。您可以从以下网站获得:

下面是一个例子:

require 'builder'
xml = Builder::XmlMarkup.new(:indent => 2)
puts xml.root {
  xml.products {
    xml.widget {
      xml.id 10
      xml.name 'Awesome Widget'
    }
  }
}
以下是输出:

<root>
  <products>
    <widget>
      <id>10</id>
      <name>Awesome Widget</name>
    </widget>
  </products>
</root>

10
很棒的小部件

Nokogiri有一个很好的XML构建器。这是来自Nokogiri网站:

需要“nokogiri”
builder=Nokogiri::XML::builder.new do | XML|
xml.root{
xml.products{
xml.widget{
xml.id u“10”
xml.name“很棒的小部件”
}
}
}
结束
将builder.xml转换为xml
# >> 
# >> 
# >>   
# >>     
# >>       10
#>>很棒的小部件
# >>     
# >>   
# >> 

REXML看起来不太吓人。。。有人对此有什么看法吗?我很长时间以来一直是REXML的粉丝,但由于它是基于Ruby的,而Nokogiri依赖于libxml2和C,Nokogiri速度非常快,是我这些天来在Ruby中处理XML的最爱。Nokogiri::Builder特别好。谢谢,我最终使用了RubyGems Builder。它非常简单,工作起来很有魅力。即使是我(不喜欢ruby)也可以很容易地学习Nokogiri的xml API。它肯定比其他一些语言的xml创建模块或手工操作要好得多。
<root>
  <products>
    <widget>
      <id>10</id>
      <name>Awesome Widget</name>
    </widget>
  </products>
</root>
require 'nokogiri'
builder = Nokogiri::XML::Builder.new do |xml|
  xml.root {
    xml.products {
      xml.widget {
        xml.id_ "10"
        xml.name "Awesome widget"
      }
    }
  }
end
puts builder.to_xml
# >> <?xml version="1.0"?>
# >> <root>
# >>   <products>
# >>     <widget>
# >>       <id>10</id>
# >>       <name>Awesome widget</name>
# >>     </widget>
# >>   </products>
# >> </root>