0
私は図のようにxmlファイルを持っています。は、固定数の要素をxmlファイルで一度に反復処理します。 python要素ツリー
<?xml version="1.0" encoding="UTF-8"?>
<DataRoot>
<Data>
<Data>
<Data>
<child>
....text....
</child>
</Data>
<Data>
<Data>
<Data>
<Data>
.
.
.
</DataRoot>
私の要件は、各ファイル内の<Data>
要素の固定数を持つ小さなXMLファイルにこのXMLを分割することです。 <Data>
をxmlに分割することはできますが、固定番号<Data>
の要素を取ってファイルを作成することはできません。
<DataRoot>
<Data>
</DataRoot>
FILE2: FILE1:
私の出力がある
<DataRoot>
<Data>
</DataRoot>
しかし、必要な出力は次のようになります。
FILE1:
<DataRoot>
<Data>
<Data>
<Data>
</DataRoot>
ファイル2:
<DataRoot>
<Data>
<Data>
<Data>
</DataRoot>
ここは私のコードです。形成されるファイルの
import os
import xml.etree.ElementTree as ET
import lxml.etree as LT
file_path = 'filepath\\file.xml'
file_name = (os.path.splitext((os.path.basename("%s"%file_path)))[0])
print file_name
tree = ET.ElementTree(file='%s'%file_path)
tre = LT.ElementTree(file='%s'%file_path)
root = tree.getroot().tag
i = 0
for elm in (tree.findall('Data')):
text = ET.tostring(elm)
i += 1
filename = "%d"%i+"_of_%s"%file_name+".xml"
with open(filepath\\%s'%filename, 'wb') as f:
f.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
f.write(("<"+ "%s"%root+">"))
f.write(text)
f.write(("</"+ "%s"%root+">"))
f.close()
数は、それは私が