Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于在xml中添加标记的Python代码,其中父标记是具有不同属性的多个标记_Python_Xml_Parsing - Fatal编程技术网

用于在xml中添加标记的Python代码,其中父标记是具有不同属性的多个标记

用于在xml中添加标记的Python代码,其中父标记是具有不同属性的多个标记,python,xml,parsing,Python,Xml,Parsing,我正在使用XML.etree.ElementTree解析以下XML文件: <main> <stream id="1" name="some"> <inner id="500"> <sub-inner> <inside> 500 </inside> <sub-inner> <inn

我正在使用
XML.etree.ElementTree
解析以下XML文件:

<main>
    <stream id="1" name="some">
        <inner id="500">
              <sub-inner>
                 <inside> 500 </inside>
              <sub-inner>
        <inner>
    <stream id="2" name="some">
        <inner id="500">
              <sub-inner>
                 <inside> 500 </inside>
              <sub-inner>
        <inner>
    </stream>
</main>

500
500
如何将
200
元素插入标记中,其中stream id=“2”one

输出:

<main>
    <stream id="1" name="some">
        <inner>500</inner>
    </stream>
    <stream id="2" name="some">
        <inner>500</inner>
    <outer>200</outer></stream>
</main>
<main>
    <stream id="1" name="some">
        <inner>500</inner>
    </stream>
    <stream id="2" name="some">
        <outer>200</outer><inner>500</inner>
    </stream>
</main>

500
200500
...
stream = root.find('.//stream[@id="2"]')
outer = ET.Element('outer')
outer.text = '200'
stream.insert(0, outer)
print(ET.tostring(root))
<main>
    <stream id="1" name="some">
        <inner>500</inner>
    </stream>
    <stream id="2" name="some">
        <outer>200</outer><inner>500</inner>
    </stream>
</main>