powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Операции с XML файлом
15 сообщений из 15, страница 1 из 1
Операции с XML файлом
    #39794235
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть XML документ. Я получил его от другого источника.
Код: c#
1.
XmlDocument xmldoc;


И метод которым я читаю документ
Код: c#
1.
XElement xTree = XElement.Load(file);


Но Load принимает в качестве аргумента
string
Stream
XmlReader
TextReader

Как мне загрузить xmldoc в скажем XmlReader или Stream?
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794243
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XmlDocument.Save
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794245
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProXmlDocument.Save

я не хочу сохранять документ. поработал с ним и удалил.
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794247
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я что-то говорил про сохранение документа?
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794248
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7Как мне загрузить xmldoc в скажем XmlReader или Stream?
RTFM

https://docs.microsoft.com/ru-ru/dotnet/api/system.xml.xmldocument.save
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794250
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Мухjenya7Как мне загрузить xmldoc в скажем XmlReader или Stream?
RTFM

https://docs.microsoft.com/ru-ru/dotnet/api/system.xml.xmldocument.save

спасибо.
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794256
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jenya7Дмитрий Мухпропущено...

RTFM

https://docs.microsoft.com/ru-ru/dotnet/api/system.xml.xmldocument.save



это все абстрактные классы. я должен их инициализировать. они требую файл в качестве аргумента. а я не хочу сохранять информацию в файл. хочу работать в RAM а потом удалить.
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794258
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7jenya7пропущено...




это все абстрактные классы. я должен их инициализировать. они требую файл в качестве аргумента. а я не хочу сохранять информацию в файл. хочу работать в RAM а потом удалить.
Послушайте, в документации перечисленны все производные от абстрактных классов:
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794259
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И среди них есть MemoryStream, хранилищем которого является память.
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794260
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант, можно просто создать StringReader на XmlDocument.InnerText
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794265
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
делаю так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private MemoryStream ReadXmlFile()
{
    XmlDocument xmldoc = new XmlDocument();
   MemoryStream mem_stream = new MemoryStream();

    AsymDecrypt(xmldoc, rsaKey, "rsaKey");

    xmldoc.Save(mem_stream);  
    
    return mem_stream; 
}



потом передаю стрим
Код: c#
1.
2.
3.
MemoryStream mem_stream  =  ReadXmlFile();

XElement xTree = XElement.Load(mem_stream );


и на XElement xTree = XElement.Load(mem_stream ); получаю Root element is missing.
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794266
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стрим на начало перевести перед чтением
И не забывать, что стрим IDisposable
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794267
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7делаю так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private MemoryStream ReadXmlFile()
{
    XmlDocument xmldoc = new XmlDocument();
   MemoryStream mem_stream = new MemoryStream();

    AsymDecrypt(xmldoc, rsaKey, "rsaKey");

    xmldoc.Save(mem_stream);  
    
    return mem_stream; 
}




потом передаю стрим
Код: c#
1.
2.
3.
MemoryStream mem_stream  =  ReadXmlFile();

XElement xTree = XElement.Load(mem_stream );



и на XElement xTree = XElement.Load(mem_stream ); получаю Root element is missing.
Перед тем как выполнять Load, необходимо убедиться в том, что позиция в потоке нулевая:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
using (MemoryStream mem_stream = ReadXmlFile())
{
    if (mem_stream.Position > 0)
    {
        mem_stream.Position = 0;
    }

    XElement xTree = XElement.Load(mem_stream);

    // ...
}
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794269
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Мухи на XElement xTree = XElement.Load(mem_stream ); получаю Root element is missing.
Перед тем как выполнять Load, необходимо убедиться в том, что позиция в потоке нулевая:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
using (MemoryStream mem_stream = ReadXmlFile())
{
    if (mem_stream.Position > 0)
    {
        mem_stream.Position = 0;
    }

    XElement xTree = XElement.Load(mem_stream);

    // ...
}

[/quot]

спасибо. работает.
...
Рейтинг: 0 / 0
Операции с XML файлом
    #39794290
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо Position лучше Seek использовать имхо, понятнее
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Операции с XML файлом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]