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

Парсинг большого XML документа

10.05.2015, 10:18. Показов 1904. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Помогите пожалуйста спарсить XML файл такого рода. Вот его кусочек:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<Tools>
    <CatalogTool>
      <ToolID>RA411.5-2654D0.4062 K20</ToolID>
      <GTCGeneric>DRLFSS</GTCGeneric>
      <GTCVendorSpecific>DRLFSS</GTCVendorSpecific>
      <CatalogSpecificNode />
      <LifeCycleState>new</LifeCycleState>
      <TimeStamp>2014-06-27T15:45:36.473</TimeStamp>
      <DocumentTimeStamp>2014-06-27T15:45:36.473</DocumentTimeStamp>
      <Documents>
        <CatalogDocument>
          <DocumentId>P21</DocumentId>
          <Uri>Documents\P21\ra411.5-2654d0.4062 k20.p21.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>Draw2D</DocumentId>
          <Uri>Documents\Draw2D\0048299.dxf.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>ToolImage</DocumentId>
          <Uri>Documents\ToolImage\142479.jpg.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>ToolImage</DocumentId>
          <Uri>Documents\ToolImage\142764.jpg.zip</Uri>
        </CatalogDocument>
      </Documents>
    </CatalogTool>
    <CatalogTool>
      <ToolID>RA411.5-2854D0.4375 K20</ToolID>
      <GTCGeneric>DRLFSS</GTCGeneric>
      <GTCVendorSpecific>DRLFSS</GTCVendorSpecific>
      <CatalogSpecificNode />
      <LifeCycleState>new</LifeCycleState>
      <TimeStamp>2014-06-27T15:45:55.353</TimeStamp>
      <DocumentTimeStamp>2014-06-27T15:45:55.353</DocumentTimeStamp>
      <Documents>
        <CatalogDocument>
          <DocumentId>P21</DocumentId>
          <Uri>Documents\P21\ra411.5-2854d0.4375 k20.p21.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>Draw2D</DocumentId>
          <Uri>Documents\Draw2D\0048307.dxf.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>ToolImage</DocumentId>
          <Uri>Documents\ToolImage\142479.jpg.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>ToolImage</DocumentId>
          <Uri>Documents\ToolImage\142764.jpg.zip</Uri>
        </CatalogDocument>
      </Documents>
    </CatalogTool>
    <CatalogTool>
      <ToolID>RA411.5-3034D0.4531 K20</ToolID>
      <GTCGeneric>DRLFSS</GTCGeneric>
      <GTCVendorSpecific>DRLFSS</GTCVendorSpecific>
      <CatalogSpecificNode />
      <LifeCycleState>new</LifeCycleState>
      <TimeStamp>2014-06-27T15:45:56.363</TimeStamp>
      <DocumentTimeStamp>2014-06-27T15:45:56.363</DocumentTimeStamp>
      <Documents>
        <CatalogDocument>
          <DocumentId>P21</DocumentId>
          <Uri>Documents\P21\ra411.5-3034d0.4531 k20.p21.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>Draw2D</DocumentId>
          <Uri>Documents\Draw2D\0048309.dxf.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>ToolImage</DocumentId>
          <Uri>Documents\ToolImage\142479.jpg.zip</Uri>
        </CatalogDocument>
        <CatalogDocument>
          <DocumentId>ToolImage</DocumentId>
          <Uri>Documents\ToolImage\142762.jpg.zip</Uri>
        </CatalogDocument>
      </Documents>
    </CatalogTool>

Сам файл около 16МБ. Нужно среди всех ToolID найти тот, который будет задан в textbox и вывести всю информацию (значения тегов) в treeview или listbox. Прочитал кучу примеров, но так ничего толкового и не нашёл.
Help please!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2015, 10:18
Ответы с готовыми решениями:

Парсинг xml документа
Имеется документ типа &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt; &lt;data&gt; &lt;users&gt; ...

Парсинг XML документа со сложной структурой
Доброго времени суток. Возникла проблема с парсингом .osm файла. Для чтения документа решил...

Парсинг XML-документа, в котором некоторые поля могут отсутствовать
Есть такой XML-файл: &lt;shop&gt; &lt;title&gt;Any product&lt;/title&gt; &lt;price&gt;10.1&lt;/price&gt; &lt;/shop&gt; ...

Парсинг большого количества страниц
Доброго времени суток, товарищи! Прошу у Вас помощи, самому боюсь не справиться - знаний маловато....

2
Эксперт .NET
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,487
10.05.2015, 17:46 2
Лучший ответ Сообщение было отмечено Johny_Smile как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            XmlDocument doc = new XmlDocument();
            doc.Load(path_to_file);
 
            var nodes = doc.SelectNodes("Tools/CatalogTool");
 
            var ToolID = textBox1.Text;
 
            foreach (XmlElement node in nodes)
            {
                if (node["ToolID"].InnerText == ToolID)
                {
                    foreach (XmlElement node2 in node)
                    {
                        // добавляем в treeview или listbox значения node2.InnerText
                    }
                }
            }
1
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 2
10.05.2015, 18:41  [ТС] 3
Спасибо большое, но как сделать чтобы с каждым значением тега можно было работать как с переменной??? например мне нужно работать с архивами, имена которых там указаны
0
10.05.2015, 18:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2015, 18:41
Помогаю со студенческими работами здесь

Парсинг большого файла: вопрос оптимизации
Доброго времени суток. Есть файл, набитый строками в духе &lt;v&gt;какой-то текст&lt;/v&gt; каким бы...

Создание документа XML через LINQ-to-XML
как создать новый документ xml через LINQ-to-xml XDocument doc =new...

Парсинг большого количества hex значений из текстового файла
Нужно из текстового файла прочитать кучу hex целочисленных значений от int16 до uint64, а книжку...

Парсинг ссылок из HTML документа
Вот такой код нашел на просторах интернета: List links = new List(); foreach (HtmlElement link in...


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

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