#coding: utf-8
require 'win32ole'
#创建xml文件
$xmlDoc = WIN32OLE.new('Msxml2.DOMDocument.3.0')
#创建Root节点
$Root=$xmlDoc.createElement("RootNode")
$xmlDoc.appendChild $Root
#创建新的节点,并作为指定节点child加入
def newXmlNode(newNodeName, newNodeValue, parentNode)
$newnode = $xmlDoc.createElement(newNodeName)
currentNode=parentNode.appendChild($newnode)
currentNode.text = newNodeValue
return $newnode
end
#创建指定节点的属性
def addNodeAttribute(xmlNodeName,newAttribute, newAttributeValue)
attrs = $xmlDoc.createAttribute(newAttribute)
attrs.value=newAttributeValue
xmlNodeName.setAttributeNode(attrs)
end
#创建一个子节点,作为Root的子节点加入
newnode1=newXmlNode('Child1','Son',$Root)
#给指定的子节点添加属性1
addNodeAttribute(newnode1,'att1','attvalue1')
#创建一个子节点,并作为newnode1的子节点加入
newnode2=newXmlNode('Child2','grandson',newnode1)
#给指定的子节点继续添加属性2
addNodeAttribute(newnode1,'att2','attvalue2')
#保存xml文件
$xmlDoc.save('C:/nodes.xml')
运行结果如下: