2013-07-28 16 views
11

Desidero aggiungere un nodo figlio con attributi a un tag specifico. il mio xml èaggiungi elemento con attributi in minidom python

<deploy> 
</deploy> 

e l'uscita dovrebbe essere

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

finora il mio codice è:

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

Come riesco a capire come trovare distribuire tag e di aggiunta nodo figlio con attributi?

risposta

13

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() 

del file di output:

<?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> 
+0

grazie william per rispondere a questa question.really aiutare pieno –

Problemi correlati