powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / XML
5 сообщений из 5, страница 1 из 1
XML
    #32439433
kpu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kpu
Гость
Как разобрать XML файл? Я хочу скачать его в переменную string и разбирать.
Правильно? Или надо по другому? Мнебы маленький примерчик.
Как к нему обратиться если он в сети и потом разобрать.
...
Рейтинг: 0 / 0
XML
    #32440033
maratic_net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно несколько вариантов. Опишу несколько.

1) Загрузка файла при помощи XmlDocument. Плохо - если хмл большлго размера. Удобно - имеем полную копию документа в памяти.

2) Чтение при помощи XmlTextReader. +=нет ограничений на размер хмл (т.е. памяти много не жрет) , минус - во время чтения нельзя перемещать курсор обратно (forward only)

3) автоматическая XML сериализащия. Это когда Вы создаете класс представляющий Ваш XMLдокумент. Потом говорите
System.XML.Serialization.Deserialize - и в итоге получаете объект (экземляр wrapper-класса) в памяти в который загружены все поля. QuickStart-пример есть в MSDN по ключу XmlElementAttribyte или XmlRootAttibute - сейчас не свпомню где но он там есть...
...
Рейтинг: 0 / 0
XML
    #32440047
kpu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kpu
Гость
Есть файл. Примерно такого содержания.
@?xml version="1.0" encoding="windows-1251" ?@
@ValCurs Date="02/03/2002" name="Foreign Currency Market"@
@Valute ID="R01010"@
@NumCode>036</NumCode@
@CharCode>AUD</CharCode@
@Nominal>1</Nominal@
@Name>Австралийский доллар</Name@
@Value>16,0102</Value@
@/Valute@

Разбираю его в функции ниже.
Как правильно добавить в ListView Колонки из @Valute@
А то что-то никак не соображу.

public void ReadandWrite(XmlReader rdr)
{
list3.Columns.Add("",200,HorizontalAlignment.Left);
list3.Columns.Add("",100,HorizontalAlignment.Left);
while (rdr.Read())
{
ListViewItem lv=new ListViewItem("qqq");
switch (rdr.NodeType)
{
case XmlNodeType.Text:
lv.SubItems.Add(rdr.Value);
break;
case XmlNodeType.SignificantWhitespace:
Console.Write(rdr.Value);
break;
}
list3.Items.Add(lv);
}
}
...
Рейтинг: 0 / 0
XML
    #32440051
kpu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kpu
Гость
Или я вообще выбрал ошибочный путь?
...
Рейтинг: 0 / 0
XML
    #32440529
Фотография nex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно например вот так: (test.xml - Ваш xml файл)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
XmlTextReader rdr = new XmlTextReader( "test.xml" );
while (rdr.Read()) {
   // find the  "Value"  element
   if (rdr.NodeType == XmlNodeType.Element && rdr.Name ==  "Value" ) {
      rdr.Read();	// move to the Text node
      Console.Write(rdr.Value.ToString());
   }
}




Ну а дальше уже как душе угодно :).

А вообще почитайте про XmlDocument, XmlTextReader и XmlTextWriter... Есть несколько разных вариантов работы с XML-файлами.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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