Programım temel olarak bir girdi dosyası okuyor, bu dosyadan lxml.etree oluyor, örneğin etiğe bir düğüm ekledim ve sonra tekrar bir dosyaya yazdırmak istiyorum. Yani kullanmak bir dosya üzerinde geri yazmak için:Çıktının XML olarak biçimlendirilmesi lxml
et.write('Documents\Write.xml', pretty_print=True)
oysa benim çıkış geçerli:
<Variable Name="one" RefID="two">
<Component Type="three">
<Value>four</Value>
</Component>
</Variable>
am:
<Variable Name="one" RefID="two"><Component Type="three"><Value>four</Value></Component></Variable>
ben gibi bir şey istiyorum iken Yanıldım mı? Ben birçok çözüm denedim ama hiçbiri işe yaramıyor (beautifulsoup, tidy, parser ...)
Pencereler ile ilişkili olabilir? Eğer çıktı dosyanızı 'io' modülü ile açmayı denerseniz:' fp = io.open ('Documents \ Write.xml', 'w', newline = '\ r \ n') ve sonra 'fp yazınız. "like this" et.write (fp, pretty_print = True) " (Bkz. http://docs.python.org/2/library/io.html#io.open) –
Merhaba Paul, ne deniyorum? diyor ama fp nedir? Yazmak istediğim dosya? Üzgünüm, yeni başlayan biriyim! – JAWE
Sadece yazmak istediğiniz dosyayı temsil eden bir dosya tanıtıcısı, evet. et.write() ', io.open'den (http://lxml.de/api/lxml.etree._ElementTree-class.html#write) gelen bir şey gibi bir dosya adı veya açık dosya tanıtıcısı girebilir.). 'Import io' sonra 'et.write (io.open (' Documents \ Write.xml ',' w ', newline =' \ r \ n '), pretty_print = True)' ı deneyebilirsiniz. ' –