Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
3 / 3 / 1
Регистрация: 26.11.2013
Сообщений: 30
1

Чтение XML

02.10.2016, 21:59. Показов 1371. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте господа, есть фрагмент кода, с помощью которого я осуществляю парсинг:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
            var reader = new XmlTextReader("doc.xml");
 
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name.Equals("Area"))
                    {
                        richTextBox1.Text += reader.ReadString() + "\n";
                    }
             }


Но тут возникает вопрос, в структуре моего исходного XML документа есть вложенный тег Area, который выглядит вот так:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
<Area>
   <Area>1769</Area>
   <Unit>055</Unit>
</Area>

Как спарсить именно вложенный тег Area в цикле while?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2016, 21:59
Ответы с готовыми решениями:

Чтение xml
Имеется файл xml такого вида: &lt;Счета&gt; &lt;Зачисление&gt; &lt;Сотрудник C=&quot;1&quot;&gt;...

Чтение XML
есть БД на XML. &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt; &lt;data&gt; &lt;user login=&quot;sasha&quot;...

Чтение из XML
Я конечно жестко извиняюсь, но в чем ошибка? &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt; &lt;Заказы&gt; ...

Чтение XML
Доброго ... Подскажите пожалуйста как прочитать из xml файла вот такие данные: &lt;sequence...

3
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
02.10.2016, 22:01 2
Цитата Сообщение от Ruslan1 Посмотреть сообщение
моего исходного XML документа
А сам документ предоставить никак нельзя?
0
3 / 3 / 1
Регистрация: 26.11.2013
Сообщений: 30
02.10.2016, 22:11  [ТС] 3
insite2012, Что то типа такого:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<blocks>
  <block num="123" c="3">
    <Area>
       <Area>1769</Area>
       <Unit>055</Unit>
    </Area>
  <block>
 
<block num="123" c="1">
    <Area>
       <Area>172349</Area>
       <Unit>0234</Unit>
    </Area>
  <block>
</blocks>


Добавлено через 7 минут
Все, нашел, добавил Depth
C#
1
2
3
4
if (reader.Name.Equals("Area") && reader.Depth == 4)
                    {
                        richTextBox1.Text += reader.ReadString() + "\n";
                    }
Но это наверное не есть хорошо, так писать? insite2012,
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
02.10.2016, 22:16 4
Лучший ответ Сообщение было отмечено Ruslan1 как решение

Решение

Цитата Сообщение от Ruslan1 Посмотреть сообщение
Что то типа такого
Если скорректировать формат до корректного XML вот так:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<blocks>
  <block num="123" c="3">
    <Area>
       <Area>1769</Area>
       <Unit>055</Unit>
    </Area>
  </block>
 <block num="123" c="1">
    <Area>
       <Area>172349</Area>
       <Unit>0234</Unit>
    </Area>
 </block>
</blocks>
То вот такой простой код решит вашу задачу:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
 
namespace ConsoleApplication30 {
    class Program {
        static void Main(string[] args) {
            XDocument doc = XDocument.Load(@"C:\test.xml");
            var result = doc.Descendants("block");
            foreach (var r in result) {
                Console.WriteLine("Area: {0}", r.Element("Area").Element("Area").Value);
                Console.WriteLine("Unit: {0}", r.Element("Area").Element("Unit").Value);
            }
            Console.ReadLine();
        }
    }
}
1
02.10.2016, 22:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2016, 22:16
Помогаю со студенческими работами здесь

Чтение из XML
Есть XML файл, есть две переменные (допустим А и Б) и листбокс. В листбоксе выбираем какой...

Чтение XML 2.0
Здравствуйте!!! Не подскажите как прочитай XML файл версии 2.0? Заранее спасибо!

Чтение xml
Добрый день! Имеется xml файл такого содержания: &lt;response list=&quot;true&quot;&gt; &lt;count&gt;19189&lt;/count&gt;...

Чтение Xml
Добрый день, с xml раньше никогда не работал, помогите разобраться. Вобщем, имеется xml-документ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru