-1
私はPythonでxmlを扱うことを学んでいますが、私は立ち往生しています。xmlから要素を削除してファイルに書き込む - Python - lxml
from lxml import etree as le
file = open("default.xml", 'r')
tree = le.parse(file)
file.close()
for cams in tree.xpath("//camera[@id=\'1\']"):
cams.getparent().remove(cams)
file = open("default.xml", 'w')
#tree = le.tostring(tree, pretty_print=True, xml_declaration=True)
file.write(le.tostring(tree, pretty_print=True, xml_declaration=True))
file.close()
私はこのエラーを取得する:私は、これはコードです...(= 1属性IDを持つ)要素をeleminate、削除要素なしでXMLを書き換えるために、ファイルからXMLを読み取る必要が :TypeError例外は:timelossため
<?xml version="1.0" ?><settings>
<modifica>0</modifica>
<source>0</source>
<soglie>
<diffPerson>19</diffPerson>
</soglie>
<size>
<onePerson>4</onePerson>
<twoPersons>7</twoPersons>
<blobSize>10</blobSize>
<dimBordoBlob>0</dimBordoBlob>
</size>
<invertX>0</invertX>
<invertY>0</invertY>
<feedback>1</feedback>
<camere>
<camera id="1">
<larghezza>55</larghezza>
<altezza>100</altezza>
<ip>192.168.2.226</ip>
<posizione>1</posizione>
<offsetX>0</offsetX>
<offsetY>22</offsetY>
<port>5601</port>
</camera>
<camera id="2">
<larghezza>55</larghezza>
<altezza>100</altezza>
<ip>192.168.2.226</ip>
<posizione>0</posizione>
<offsetX>45</offsetX>
<offsetY>0</offsetY>
<port>5600</port>
</camera>
</camere>
<room>
<tipo>1</tipo>
<larghezzaCm>4000</larghezzaCm>
<altezzaCm>1500</altezzaCm>
</room>
<udpOut>
<ip>192.168.2.253</ip>
<port>3030</port>
</udpOut>
<udpIn>
<ip>192.168.2.245</ip>
<port>5050</port>
</udpIn>
<settings>
<life>10</life>
</settings>
<master>1</master>
<masterIP>192.168.2.245</masterIP>
</settings>