| 1 2 |
| Как записать/прочитать XML файл в тэг другого XML файла? | |
| От: | surovi![]() | ||
| Дата: | 08.08.06 15:32 |
| записываемый/читаемый файл — источник файл куда записывают/откуда читают — приемник На данный момент у меня есть два варианта решения: 1. загрузить файл источник в XMLDocument и уже добавлять его пробегаясь по всем XMLNode в файл приемник, предварительно созданный тоже как XMLDocument 2. формировать файл приемник, используя не XMLDocument, а как простой текстовый файл и записывать файл источник тоже как простой текстовый файл Но эти варианты не совсем меня устраивают: 1. недостаточно быстрый при больших размерах файлов источников 2. нет универсальности в формировании xml, хотелось бы использовать стандартные интерфейсы для работы с xml |
| Re: Как записать/прочитать XML файл в тэг другого XML файла? | |
| От: | Lloyd![]() | ||
| Дата: | 08.08.06 15:50 |
| Здравствуйте, surovi, Вы писали: S>Но эти варианты не совсем меня устраивают: S>1. недостаточно быстрый при больших размерах файлов источников Просто не надо использовать xml для больших объемов и будет быстро. |
| Re[2]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | surovi![]() | ||
| Дата: | 08.08.06 16:35 |
| to Lloyd Да я бы вообще и XML не использовал и вообще ничего не делал бы, а валялся бы на пляже с девочками и т.п. Однако форум не об этом. Нет ответа по существу — не засоряй топик. |
| Re[3]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | surovi![]() | ||
| Дата: | 08.08.06 16:38 |
| to Lloyd Понимаешь, смысл в том, что вложенные xml это Recordset-ы, а они уже могут быть и маленькими и большими. И от этого никуда не денешься. |
| Re[4]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | Lloyd![]() | ||
| Дата: | 08.08.06 19:16 |
| Здравствуйте, surovi, Вы писали: S>to Lloyd S>Понимаешь, смысл в том, что вложенные xml это Recordset-ы, а они уже могут быть и маленькими и большими. S>И от этого никуда не денешься. Тогда смирись с той производительностью, которую предлагает dom. Или читай/пиши ручками через XmlReader/XmlWriter. |
| Re[3]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | Lloyd![]() | ||
| Дата: | 08.08.06 19:17 |
| Здравствуйте, surovi, Вы писали: S>to Lloyd S>Да я бы вообще и XML не использовал и вообще ничего не делал бы, а валялся бы на пляже с девочками и т.п. S>Однако форум не об этом. Нет ответа по существу — не засоряй топик. Хорошо, я приму твой комментарий про девочек в качестве образца ответа по существу. |
| Re[4]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | surovi![]() | ||
| Дата: | 09.08.06 04:47 |
| to Lloyd Извини, не хотел обидеть. |
| Re[5]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | Lloyd![]() | ||
| Дата: | 09.08.06 05:03 |
| Здравствуйте, surovi, Вы писали: S>to Lloyd S>Извини, не хотел обидеть. У тебя это получилось. |
| Re: Как записать/прочитать XML файл в тэг другого XML файла? | |
| От: | dkart![]() | ||
| Дата: | 09.08.06 05:22 |
| Здравствуйте, surovi, Вы писали: S>записываемый/читаемый файл — источник S>файл куда записывают/откуда читают — приемник S>На данный момент у меня есть два варианта решения: S>1. загрузить файл источник в XMLDocument и уже добавлять его пробегаясь по всем XMLNode в файл приемник, предварительно созданный тоже как XMLDocument S>2. формировать файл приемник, используя не XMLDocument, а как простой текстовый файл и записывать файл источник тоже как простой текстовый файл S>Но эти варианты не совсем меня устраивают: S>1. недостаточно быстрый при больших размерах файлов источников S>2. нет универсальности в формировании xml, хотелось бы использовать стандартные интерфейсы для работы с xml 1. А зачем пробегаться? Добавить documentElement источника в XMLNode приемника. Производительность не тестировал 2. Можно воспользоваться секцией CDATA (запихать источник туда). Производительность также не тестировал. |
| Re: Как записать/прочитать XML файл в тэг другого XML файла? | |
| От: | V.Petrovski![]() | ||
| Дата: | 09.08.06 05:50 |
| Здравствуйте, surovi, Вы писали: [skipped] Может стоит посмотреть XInclude и XPointer, их реализация под .NET есть в проекте Mvp.Xml. |
| Re: Как записать/прочитать XML файл в тэг другого XML файла? | |
| От: | WinterMute![]() | ||
| Дата: | 09.08.06 07:39 |
| Здравствуйте, surovi, Вы писали: S>записываемый/читаемый файл — источник S>файл куда записывают/откуда читают — приемник S>На данный момент у меня есть два варианта решения: S>1. загрузить файл источник в XMLDocument и уже добавлять его пробегаясь по всем XMLNode в файл приемник, предварительно созданный тоже как XMLDocument S>2. формировать файл приемник, используя не XMLDocument, а как простой текстовый файл и записывать файл источник тоже как простой текстовый файл S>Но эти варианты не совсем меня устраивают: S>1. недостаточно быстрый при больших размерах файлов источников S>2. нет универсальности в формировании xml, хотелось бы использовать стандартные интерфейсы для работы с xml А поставить ссылку на внешний раздел нельзя?
|
| Re: Как записать/прочитать XML файл в тэг другого XML файла? | |
| От: | kan_izh![]() | ||
| Дата: | 09.08.06 09:17 |
| surovi wrote: > записываемый/читаемый файл — источник > файл куда записывают/откуда читают — приемник > На данный момент у меня есть два варианта решения: > 1. загрузить файл источник в XMLDocument и уже добавлять его пробегаясь > по всем XMLNode в файл приемник, предварительно созданный тоже как > XMLDocument > 2. формировать файл приемник, используя не XMLDocument, а как простой > текстовый файл и записывать файл источник тоже как простой текстовый файл > > Но эти варианты не совсем меня устраивают: > 1. недостаточно быстрый при больших размерах файлов источников > 2. нет универсальности в формировании xml, хотелось бы использовать > стандартные интерфейсы для работы с xml SAX чем не устраивает? Posted via RSDN NNTP Server 2.0 но это не зря, хотя, может быть, невзначай гÅрмония мира не знает границ — сейчас мы будем пить чай |
| Re[2]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | surovi![]() | ||
| Дата: | 09.08.06 10:01 |
| to dkart dkart> 1. А зачем пробегаться? Добавить documentElement источника в XMLNode приемника. Производительность не тестировал А можешь немного подробнее об этом, это вроде то, что я ищу. dkart> 2. Можно воспользоваться секцией CDATA (запихать источник туда). Производительность также не тестировал. Пробовал. Проблема в том, что вложенный xml получен из Recordset (MS Access 2000) и там есть MEMO поле, в котором, к сожалению, содержатся картинки, причем записанные в бинарном виде без перевода в текстовый, т.е. содержатся непреемлемые для текста символы. Так вот когда записываю, то данные после первого такого символа обрубаются. А если записывать в NodeValue, то ругается на то, что содержатся некорректные символы. to V.Petrovski А если без .NET? to WinterMute Мне нужно, чтобы все было в одном xml файле. to kan_izh Что конкретно ты имеешь в виду в SAX? |
| Re[3]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | WinterMute![]() | ||
| Дата: | 09.08.06 10:26 |
| Здравствуйте, surovi, Вы писали: S>to WinterMute S>Мне нужно, чтобы все было в одном xml файле. По идее, процессор должен вставить содержимое файла как "текст замены", т.е. прочитав repicient.xml, ты получишь DOM содержащий узлы файла source.xml. Или это не то? |
| Re[4]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | surovi![]() | ||
| Дата: | 09.08.06 10:38 |
| WM>По идее, процессор должен вставить содержимое файла как "текст замены", т.е. прочитав repicient.xml, ты получишь DOM содержащий узлы файла source.xml. Или это не то? Если в итоге получится объединенный xml, то вроде бы то. Приведи пожалуйста небольшой пример кода как записать ссылку в xml. |
| Re[5]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | WinterMute![]() | ||
| Дата: | 09.08.06 11:26 |
| Здравствуйте, surovi, Вы писали: WM>>По идее, процессор должен вставить содержимое файла как "текст замены", т.е. прочитав repicient.xml, ты получишь DOM содержащий узлы файла source.xml. Или это не то? S>Если в итоге получится объединенный xml, то вроде бы то. S>Приведи пожалуйста небольшой пример кода как записать ссылку в xml. Получится, разумеется, не "xml-файл", а его DOM, если это устраивает, то тот пример, который я приводил ранее, но с некоторыми оговорками:
-- Такую конструкцию ест IE, но тут есть несколько нюансов: т.к. файлы ты получаешь из БД, то имя "source.xml" не будет найдено процессором, как вариант обхода проблемы -- написать свой сервер (или поставить, например, Apache) и дать некоторым ресурсам из БД адреса. В этом случае адрес включаемой страницы будет записыватся как-то так: "http://localhost/source.xml". |
| Re[5]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | WinterMute![]() | ||
| Дата: | 09.08.06 11:28 |
| Здравствуйте, surovi, Вы писали: WM>>По идее, процессор должен вставить содержимое файла как "текст замены", т.е. прочитав repicient.xml, ты получишь DOM содержащий узлы файла source.xml. Или это не то? S>Если в итоге получится объединенный xml, то вроде бы то. S>Приведи пожалуйста небольшой пример кода как записать ссылку в xml. Ссылка в XML записывается: &-имя-ссылки-; Или ты что-то другое имел в виду? |
| Re[6]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | surovi![]() | ||
| Дата: | 09.08.06 12:14 |
| Спасибо Вам всем за помощь, все оказалось на много проще и на много сложнее. Код на Delphi
Так вот, проблема в том, что ADODB.Recordset сохраняет нормально, а вот загрузить, то что сохранил не может, т.к. в таблице есть MEMO поле (MS Access 2000), в котором хранятся картинки, причем не в закодированном виде (bin.hex или bin.base64), а просто двоичные данные записаны в MEMO, т.е. с некорректными для текста символами — из-за них он и не может загрузить. В xml тип для этих полей установлен dt:type='string'. Скажите пожалуйста, что с этим делать? |
| Re[7]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | surovi![]() | ||
| Дата: | 10.08.06 09:06 |
| Возникла необходимость переделать написанный код используя DOM, т.к. ADO позволяет сохранять Recordset напрямую в IXMLDOMDocument без использования промежуточного xml файла. Но при добавлении вложенного документа возникает ошибка: "This operation can not be performed with a Node of type ELEMENT." Каким образом тогда можно добавить вложенный документ?
|
| Re[8]: Как записать/прочитать XML файл в тэг другого XML фай | |
| От: | WinterMute![]() | ||
| Дата: | 10.08.06 09:08 |
| Здравствуйте, surovi, Вы писали: S>Возникла необходимость переделать написанный код используя DOM, т.к. ADO позволяет сохранять Recordset напрямую в IXMLDOMDocument без использования промежуточного xml файла. S>Но при добавлении вложенного документа возникает ошибка: S>"This operation can not be performed with a Node of type ELEMENT." S>Каким образом тогда можно добавить вложенный документ? subxmldom.documentElement.firstChild() не проходит? S>
|
| 1 2 |