XML文件格式:XML與Python的ElementTree
<testcases>
<mode>PRESSURE_CONTROL</mode>
<category>ADULT</category>
<testcase id="1">
<parameter id="PEEP" value="1.000000">false</parameter>
<parameter id="CMV_FREQ" value="4.0">false</parameter>
<parameter id="PRESS_ABOVE_PEEP" value="0.0">true</parameter>
<parameter id="I_E_RATIO" value="0.100000">false</parameter>
</testcase>
</testcases>
Python代碼:
import xml.etree.ElementTree as ET
tree = ET.parse('Results.xml')
root = tree.getroot()
mode = root.find('Mode').text
category = root.find('Category').text
self.tag_invalid = ET.SubElement(root, 'invalid') # For adding new tag with attributes and values
for v in self.final_result:
self.tag_testcase = ET.SubElement(self.tag_invalid, 'testcase')
self.tag_testcase.attrib['id'] = 5
self.tag_testcase.attrib['parameter'] = 'IE'
self.tag_testcase.text = 100
tree.write('/home/AlAhAb65/Desktop/test.xml')
輸出:
<testcases>
<mode>PRESSURE_CONTROL</mode>
<category>ADULT</category>
<testcase id="1">
<parameter id="PEEP" value="1.000000">false</parameter>
<parameter id="CMV_FREQ" value="4.0">false</parameter>
<parameter id="PRESS_ABOVE_PEEP" value="0.0">true</parameter>
<parameter id="I_E_RATIO" value="0.100000">false</parameter>
</testcase>
<invalid><testcase id="5" parameter="I_E_RATIO">100.0</testcase></invalid></testcases> # Extra line after python code running
額外行是XML文件中添加。但問題是我無法格式化它。這意味着我不能添加'\ n','\ t'來保持格式和格式。那有什麼規定嗎?我嘗試了tree.write(),ET.Element()函數。但那些不提供所需的結果。
用ET格式的文件取決於實現。你沒有任何控制權。 – Vyktor 2013-04-29 15:44:37
那我該如何保持層次呢? – ahadcse 2013-04-29 15:48:38
從不完整的代碼中您不清楚您嘗試達到的目標。請發佈一個[簡短的,自包含的,可運行的示例程序](http://sscce.org)。 – 2013-04-29 15:55:09