Я хочу знать, есть ли способ создать файлы XML из .txt
используя c++
а также libxml
?
Входной файл выглядит так:
"< url >..........< / url>
<description>His work points a way forward for saving the oceans' health -- and humanity's.</description>
<keywords>fish,health,mission blue,oceans,science</keywords>
<talkid>899</talkid>
<title>Stephen Palumbi: Following the mercury trail</title>
<transcript>
It can be a very complicated thing, the ocean.
And it can be a very complicated thing, what human health is. "
after transcript I have a huge text
after the tag </transcript>
другой блок начинается с той же структуры
я хочу структурировать все это и перегруппировать метаданные вместе, потому что после этого мне нужно обрабатывать текст отдельно.
Важно понимать, что такое действительный документ XML? Короче говоря, он должен соответствовать DTD или схеме (схема xml, схема relaxng, schematron или другие ограничения), чтобы быть действительным.
Судя по формулировке вопроса, скорее всего, он спрашивает:
«Как убедиться, что файл содержит правильно сформированный документ XML, и прочитать эти элементы? Не имеет значения, находится ли XML в файле с расширением .text или что-то еще, как упомянуто в ответе uǝop ǝpısdn».
Ответ заключается в том, что документ XML является правильно сформированным, если его можно успешно проанализировать с помощью совместимого анализатора XML. Допустим, если ваш текстовый файл содержит правильно сформированный XML, он может быть прочитан любым совместимым парсером XML …
Вы можете попробовать это самостоятельно, прочитав свой «текстовый» файл с
http://www.xmlsoft.org/
http://www.grinninglizard.com/tinyxml/
Также стоит посмотреть на
http://www.w3schools.com/xml/xml_whatis.asp
Тот факт, что файл заканчивается в .txt
или же .xml
или же .whatnot
не имеет значения.
Добавление .*
к именам файлов это просто соглашение. Способ экономии времени открытия каждого файла для проверки формата или подсказка программе, чтобы она знала, с чем имеет дело. намек является ключевым словом — файлы могут иметь произвольные имена, они не соблюдаются в соответствии с соглашением.
Открытие действительного xml
форматированный файл — тот же процесс, независимо от того, заканчивается ли имя файла .xml
или нет.
Вы говорите, что файл имеет ряд XML
блокирует, но не XML
как таковой — XML
действительно требует единственного внешнего тега. Просто добавь <root>
а также </root>
в начале и в конце вашего файла. Переименуйте его в xml
если ты хочешь.
Другими словами, вопрос, который вы должны задать себе, это как накормить XML
парсер дополнительных данных до подачи в него файла, а после. Что-то вроде этого:
parser.feed('<root>')
parser.feed(read('file.txt'))
parser.feed('</root>')