我目前正在使用 REXML 解析 XML 文件,并试图想出一种从内部文件插入 XML 片段的方法。
目前,我正在使用如下逻辑:
doc.elements.each('//include') do |element|
handleInclude( element )
end
def handleInclude( element )
if filename = element.attributes['file']
data = File.open( filename ).read
doc = REXML::Document.new( data )
element.parent.replace_child( element, doc.root )
end
end
我的 XML 如下所示:
<include file="test.xml" />
但这似乎有点笨拙,而且我担心在某些情况下,由于缺少适当的根节点,REXML 可能无法始终正确解析 XML 片段。有没有更好的方法来做到这一点?