在minidom python中添加带有属性的元素

时间:2013-07-28 18:54:00

标签: python python-2.7 attributes minidom

我想将具有属性的子节点添加到特定标记。我的xml是

<deploy>
</deploy>

,输出应为

<deploy>
  <script name="xyz" action="stop"/>
</deploy>

到目前为止我的代码是:

dom = parse("deploy.xml")
script = dom.createElement("script")
dom.childNodes[0].appendChild(script)
dom.writexml(open(weblogicDeployXML, 'w'))
script.setAttribute("name", args.script)

如何找出如何查找部署标记并使用属性附加子节点?

1 个答案:

答案 0 :(得分:17)

xml.dom.Element.setAttribute

xmlFile = minidom.parse( FILE_PATH )

for script in SCRIPTS:

    newScript = xmlFile.createElement("script")

    newScript.setAttribute("name"  , script.name)
    newScript.setAttribute("action", script.action)

    newScriptText = xmlFile.createTextNode( script.description )

    newScript.appendChild( newScriptText  )
    xmlFile.childNodes[0].appendChild( newScript )

print xmlFile.toprettyxml()

输出文件:

<?xml version="1.0" ?>
<scripts>
    <script action="list" name="ls" > List a directory </script>
    <script action="copy" name="cp" > Copy a file/directory </script>
    <script action="move" name="mv" > Move a file/directory </script>
    .
    .
    .
</scripts>