使用KML(当然是XML),我有很多样式 - 对于人类来说 - 最容易阅读和维护为原始XML。我想将它们添加到使用libxml-ruby构建的XML文档中。
这是一个简化的例子:
<?xml version="1.0" encoding="UTF-8"?>
<Document><Style>
<foo>bar</foo>
</Style>
</Document>
结果:
<<
这是预期的,因为<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Style>
<foo>bar</foo>
</Style>
</Document>
不解析原始XML。但是,我的问题是有没有办法正确地做到这一点并获得以下输出?
{{1}}
感谢您的提示!
答案 0 :(得分:1)
xml.root
是LibXML::XML::Node
的实例,其<<
方法用于添加节点。不用于解析XML字符串。
要解析字符串,您可以使用例如XML::Parser.string
:
xml = XML::Document.new
xml.root = XML::Node.new(:Document)
# Parse the string into XML::Document, then take its root node tree
another_doc = XML::Parser.string(raw_xml).parse
node = xml.import(another_doc.root)
xml.root << node