我想在python中複製一些XML代碼以將其放入我目前正在處理的程序中,該程序會執行一些全景捕獲。最後,想法是導出捕獲細節的XML文件,以便更容易地導入各種全景捕獲程序之一。python查詢中的xml子元素
我對Python相當新,但一直在使用xml.etree.ElementTree,與此我可以設置信息,如根聲明和標題和子標題,但我有點失去了兩點,第一個是如何通過一個子元素,我可以設置一個值(如GPS),第二個是如何一個子元素可以有多個值(例如馬賽克/重疊最小值)。
對於我有以下工作的元素;
root = etree.Element("papywizard")
root.set("version", "c")
header = etree.SubElement(root,"header")
general = etree.SubElement(header, "general")
title = etree.SubElement(general,"title")
我當時以爲我可以做這樣的事情title.text("Test123")
但這並沒有工作。我正在嘗試複製的完整XML如下,是否有人能夠指引我如何在子元素標記中設置文本,以及除了可以將多少個標記聚合爲一個子元素?
非常感謝!
<?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>
感謝所有人的幫助,每個答案完美無缺:)。非常感謝! – user1829564