2015-08-03 2 views
1

Im работает с XML-файлами в Qt, и мне нужно скопировать XML-файл, а затем добавить к копии. Одна из проблем, им с мне нужно удалить самую последнюю строку файла XML, который:Удалить строку из XML с помощью QDomDocument

</VSCommands> 

Я очень новой для работы с XMLs в Qt и используя QDom, так что им здесь с просьбой о помощи на что лучший способ подойти к копированию xml-файла и удалить эту последнюю строку, а затем добавить мои новые данные в конец файла?

Edit: Я скопировал оригинальный XML в новый XML с помощью:

QFile readFile(filename); 
readFile.copy(new_filename); 
QFile writeFile(new_filename); 

И теперь я открыл его, чтобы добавить на файл с:

if (writeFile.open(QIODevice::Append)) 
{ 

} 

Я просто не уверен как сначала удалить последнюю строку файла, прежде чем я начну добавлять новые данные.

ответ

1

После того, как вы прочитали XML-файл в DOM, у вас есть его абстрактное представление. Вы вносите изменения в DOM, записываете DOM в новый файл или перезаписываете старый. Просто убедитесь, что вы используете QSaveFile для написания. Вы не беспокоитесь о том, как внести отдельные изменения в xml-файл.

+0

Можете ли вы привести пример того, как читать xml в DOM? –

+1

@CodyPritchard Фактически, учитывая, что XML-модуль Qt устарел, вы можете забыть о DOM и напрямую использовать классы QXmlStreamReader и QXmlStreamWriter. –

+0

@CodyPritchard Но если вы хотите использовать DOM, просто посмотрите на документацию 'QDomDocument'. Это пример того, чего вы хотите достичь. Это тоже тривиальное количество кода. –

 Смежные вопросы

  • Нет связанных вопросов^_^