Ich versuche, einige XML-Code in Python zu replizieren, um in ein Programm zu versetzen, an dem ich gerade arbeite, die einige Panoramaaufnahmen macht. Am Ende besteht die Idee darin, eine XML-Datei des Capture-Details zu exportieren, um den Import in eines der verschiedenen Panorama-Capture-Programme zu erleichtern.xml Unterelemente in Python-Abfrage
Ich bin relativ neu in Python, habe aber xml.etree.ElementTree verwendet, mit diesem kann ich Informationen wie die Stammdeklaration und den Header und Sub-Header setzen, aber ich bekomme ein bisschen verloren in zwei Punkten, der erste Durch ein Sub-Element kann ich einen Wert setzen (zB GPS) und das zweite ist, wie ein Sub-Element mehrere Werte haben kann (zB Mosaik/Überlappungs-Minimum).
Für die Elemente hatte ich die unten arbeiten;
root = etree.Element("papywizard")
root.set("version", "c")
header = etree.SubElement(root,"header")
general = etree.SubElement(header, "general")
title = etree.SubElement(general,"title")
Ich dachte, dann habe ich so etwas wie title.text("Test123")
tun konnte, aber das hat nicht funktioniert. Das vollständige XML, das ich zu replizieren versuche, ist unten. Kann mir jemand in die richtige Richtung zeigen, wie ich Text innerhalb eines Unterelement-Tags setzen kann, und darüber hinaus, wie viele Tags zu einem Unterelement zusammengefasst werden können?
Vielen Dank!
<?xml version="1.0" encoding="utf-8"?>
<papywizard version="c">
<header>
<general>
<title>
Test Capture 1
</title>
<gps>
37.8022697,-122.4056749
</gps>
<comment>
Add your comments here
</comment>
</general>
<shooting mode="mosaic">
<headOrientation>
up
</headOrientation>
<cameraOrientation>
landscape
</cameraOrientation>
<stabilizationDelay>
5.0
</stabilizationDelay>
<counter>
001
</counter>
<startTime>
2014-02-23_13h59m01s
</startTime>
<endTime>
2014-02-23_13h53m33s
</endTime>
</shooting>
<camera>
<timeValue>
5.0
</timeValue>
<bracketing nbPicts="1"/>
<sensor coef ="4.74" ratio="4:3"/>
</camera>
<lens type="rectilinear">
<focal>
12.7
</focal>
</lens>
<mosaic>
<nbPicts pitch="5" yaw="10"/>
<overlap minimum="0.25" pitch="0.25" yaw="0.25"/>
</mosaic>
</header>
<shoot>
<pict bracket="1" id="1">
<time>
2014-02-23_13h59m01s
</time>
<position pitch="37.96" roll="0.0" yaw="-99.96"/>
</pict>
<pict bracket="1" id="2">
<time>
2014-02-23_13h59m01s
</time>
<position pitch="18.98" roll="0.0" yaw="-99.96"/>
</pict>
<pict bracket="1" id="3">
<time>
2014-02-23_13h59m01s
</time>
<position pitch="0.00" roll="0.0" yaw="-99.96"/>
</pict>
</shoot>
</papywizard>
Danke für die Hilfe jeder, jede Antwort funktionierte perfekt :). Am meisten geschätzt! – user1829564