удалить ‹?xml version=1.0 ?› с помощью xml.dom.minidom

Я создаю файлы XML, используя xml.dom.minidom. Каждый раз, когда я создаю файл, в самой строке появляется <?xml version="1.0" ?>, и сгенерированный файл выглядит так:

<?xml version="1.0" ?> 
 <Root>
     data 
 </Root>

там все равно нет, так что вывод без, и мой вывод должен выглядеть так

 <Root>
      data 
 </Root>

person G.Jan    schedule 25.10.2013    source источник
comment
Вы можете просмотреть образцы, которые вы разместили.   -  person Gusdor    schedule 25.10.2013
comment
да я только что сделал   -  person G.Jan    schedule 25.10.2013
comment
Можете ли вы объяснить, почему вы хотели бы удалить это? Объявление XML необходимо в худшем случае и совершенно безвредно в лучшем случае.   -  person Tomalak    schedule 25.10.2013
comment
на самом деле я создаю некоторые файлы для моба. комм. шлюз и вот настроено читать его без этого, выдает ошибку так   -  person G.Jan    schedule 25.10.2013
comment
@ G.Jan, что не так с копированием файла без первой строки?   -  person Gusdor    schedule 25.10.2013
comment
@Gusdor, я ответил в предыдущем комментарии. Я искал разные модули, но не нашел решения.   -  person G.Jan    schedule 25.10.2013
comment
@ G.Jan Какой язык ты используешь?   -  person Gusdor    schedule 25.10.2013
comment
@Gusdor, я использую Python   -  person G.Jan    schedule 25.10.2013


Ответы (3)


Если вы хотите просто обрезать первую строку из файла, используйте этот код;

f = open( 'file.txt', 'r' )
lines = f.readlines()
f.close()

f = open( 'file.txt'.'w' )
f.write( '\n'.join( lines[1:] ) )
f.close()
person Gusdor    schedule 25.10.2013
comment
я пытался прочитать первую строку, используя методы .readlines/readline, но это дает мне корень - person G.Jan; 25.10.2013

Лучшим решением, которое я нашел, было выписать .childNodes[0], т.е. выписать:

doc.childNodes[0].toprettyxml()

в файл, в котором тег версии xml будет опущен.

person Gillespie    schedule 31.12.2020

Это делает работу, где old_data - это xml для удаления

new_data = old_data[old_data.find("?>")+2:]

person sancelot    schedule 30.06.2017