|
18.04.2007, 11:11 | #1 |
Участник
|
Вновь про XML
Привет всем!
Есть проблема с выгрузкой данных в XML, точнее в формате записи. При формировании получается такой вид <Данные><Информация>12345</Информация></Данные> все хорошо, если этот файл имеет небольшой размер, а у меня сформированный файл весит 15 М - (готовим декларацию по алкоголю), т.е. это одна строка...?! Даже VS NET 2005 виснит при открытии файла. При том, что уже преобразованный в нормальный вид - открывается влет!!!!! Искал на форуме - ничего не нашел... Подскажите как мне получить нормальный вид <Данные> <Информация> 12345 </Информация> </Данные> |
|
18.04.2007, 11:16 | #2 |
Участник
|
Непонел, ведь нормальная запись считается:
... <tag><tag2>data</tag2></tag> ... Помоему разницы в загрузке не должно быть...!!! |
|
18.04.2007, 11:18 | #3 |
Участник
|
А какая разница в одну строку или нет, Вы что в текстовом редакторе его будете просматривать. Я делал xml и большего размера в одну строку. Да, Explorer вешается когда открывает, но он нормально парсится. Если тормозит при парсинге, то нормальный вид думаю не поможет.
|
|
18.04.2007, 12:00 | #4 |
Участник
|
В том-то и дело, что разница есть. При сдаче декларации в налоговой этот файл не принемается....., после его конвертации в "нормальный вид" через vs net 2005 - все нормально, вот и встает вопрос как избавиться от лишней операции по конвертации.
|
|
18.04.2007, 12:17 | #5 |
Участник
|
Как вариант - после создания файла, открывайте его через ASCIIO и вставляйте после каждого закрывающего тега перенос каретки
Правда ИМХО не должно влиять на производительность то, как выглядит файл. |
|
18.04.2007, 12:24 | #6 |
Участник
|
|
|
18.04.2007, 12:57 | #7 |
Участник
|
Причем тут длинна строки - помоему нормалные парсеры не парсят по строкам, а бинарно/последовательно.
Цитата:
При сдаче декларации в налоговой этот файл не принемается
|
|
18.04.2007, 12:34 | #8 |
Участник
|
можно прогначть через этот xsl
|
|
18.04.2007, 12:37 | #9 |
Участник
|
еще так:
X++: static void Job30(Args _args) { XMLDocument x= XMLDocument::newBlank(); XMLElement root = x.appendChild(x.createElement('x')); ; x.preserveWhitespace(true); root.appendChild(x.createElement('line1')); root.appendChild(x.createTextNode('\r\n')); root.appendChild(x.createElement('line2')); info(x.xml()); } |
|
18.04.2007, 13:01 | #10 |
Участник
|
Цитата:
Есть такая фишка - "Validate" ... если всё нормально, тогда XML правильный, если XML правильный, значит ВЫ сделали свою работу на все 100%.
|
|
|
За это сообщение автора поблагодарили: kashperuk (3). |
18.04.2007, 13:47 | #11 |
Участник
|
Буду пробовать (я про налоговую). Спасибо.
|
|
|
|