python查询中的xml子元素

python查询中的xml子元素,python,xml,Python,Xml,我正在尝试用python复制一些XML代码,以便将其放入我目前正在开发的一个程序中,该程序可以执行一些全景捕获。最后的想法是导出捕获细节的XML文件,以便更容易地导入到各种全景捕获程序中 我对Python相当陌生,但一直在使用xml.etree.ElementTree,通过它我可以设置诸如根声明、头和子头之类的信息,但我在两点上有点迷失,第一点是如何通过子元素设置值(例如GPS),第二点是子元素如何具有多个值(例如,马赛克/最小重叠) 对于我有以下工作的元素 root = etree.Eleme

我正在尝试用python复制一些XML代码,以便将其放入我目前正在开发的一个程序中,该程序可以执行一些全景捕获。最后的想法是导出捕获细节的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>

测试捕获1
37.8022697,-122.4056749
在这里添加您的评论
向上的
景观
5
001
2014-02-2313H59M01S
2014-02-2313H53M33S
5
12.7
2014-02-2313H59M01S
2014-02-2313H59M01S
2014-02-2313H59M01S

必须使用以下命令:

title.text = "some text"

必须使用以下命令:

title.text = "some text"

文本节点和元素节点是两种类型的节点,XML元素节点可以有任意数量的文本和/或元素子节点,其顺序可以是任意的

如果要向节点添加文本,可以使用
.text
属性

title.text = "Sometext"
如果要添加属性,可以使用
set
命令

title.set('Attribute name', 'Attributevalue')

文本节点和元素节点是两种类型的节点,XML元素节点可以有任意数量的文本和/或元素子节点,其顺序可以是任意的

如果要向节点添加文本,可以使用
.text
属性

title.text = "Sometext"
如果要添加属性,可以使用
set
命令

title.set('Attribute name', 'Attributevalue')

谢谢大家的帮助,每个答案都很完美:)。非常感谢!谢谢大家的帮助,每个答案都很完美:)。非常感谢!