Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/47: Рейтинг темы: голосов - 47, средняя оценка - 4.77
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010

Парсинг документа с XML структурой

15.01.2015, 15:04. Показов 8726. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, есть документ такого содержания:
XML Скопировано
1
2
3
4
5
6
7
<doc>
<city>
<this place="436">СПБ</this>
<this place="816">МСК</this>
<this place="12">НВС</this>
</city>
</doc>
Нужно спарсить в тхт файл:
СПБ
МСК
НВС

Документ в UTF8.
Всё, что угодно, только без регулярок
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2015, 15:04
Ответы с готовыми решениями:

Парсинг xml документа
Доброе время суток. Помогите пожалуйста, получить данные из xml документа &lt;?xml version=&quot;1.0&quot;...

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

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

11
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
15.01.2015, 15:15
Парсинг текста с сайта
0
Почетный модератор
 Аватар для Памирыч
23246 / 9158 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
15.01.2015, 15:30
Цитата Сообщение от Дядя Корней Посмотреть сообщение
только без регулярок
Тут имхо, лучше не регулярками, а инструментами работы с XML. Но с ними я увы, не работал.
Хардкор и конкретно под Ваш пример:
VB.NET Скопировано
1
2
3
        For Each Str As String In IO.File.ReadAllLines("C:\Test.txt", System.Text.Encoding.Default)
            If Str.Contains("/") Then ListBox1.Items.Add(Str.Split(">")(1).Split("<")(0))
        Next
2
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
15.01.2015, 15:31
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

И вот в придачу
Сохранение данных в XML-файл
2
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
15.01.2015, 17:23  [ТС]
edward_freedom, хороший пример. Но пока не получается под себя перепилить. Дерево узлов разное.
В общем вопрос по прежнему актуален. Если кто умеет работать с XML, прошу помощи.
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
15.01.2015, 17:43
Дядя Корней, Все одинаковое, надо было чуть чуть отойти от той темы и пораскинуть мозгами.
VB.NET Скопировано
1
2
3
4
5
6
7
8
9
Dim doc As New XmlDocument()
        doc.LoadXml(RichTextBox1.Text)
        Dim ordersList As XmlNodeList = doc.DocumentElement.ChildNodes
        For Each nodeOrder As XmlNode In ordersList
            Dim goodsList As XmlNodeList = nodeOrder.ChildNodes
            For Each nodeGood As XmlNode In goodsList
                MessageBox.Show(nodeGood.Attributes("place").Value)
            Next
        Next
3
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
15.01.2015, 20:00  [ТС]
edward_freedom, да я на работе до 8-ми вечера. Мне толком не включить мозги, дома буду и включу, если получится. Дома тоже не особо спокойно программировать получается, семья, дети знаете ли...
А похожий вариант который ты предложил выше я пробовал, насколько я помню, он выдаст не это:
СПБ
МСК
НВС
а цифры, которые идут после place="
Но могу и ошибаться, студии сейчас нет под рукой, проверить не могу.
В любом случае спасибо за помощь. Я то еще совсем новичок в программировании и раскидываться мозгами не особо умею. Ведь прежде, чем раскидываться, нужно знать куда их раскидывать.
0
1544 / 1507 / 324
Регистрация: 03.10.2012
Сообщений: 1,542
16.01.2015, 00:14
edward_freedom, Позвольте чуть-чуть подправить ваш код для задачи Дядя Корней,
VB.NET Скопировано
1
2
3
4
5
6
7
8
9
Dim doc As New XmlDocument()
        doc.Load("01.xml")
        Dim ordersList As XmlNodeList = doc.DocumentElement.ChildNodes
        For Each nodeOrder As XmlNode In ordersList
            Dim goodsList As XmlNodeList = nodeOrder.ChildNodes
            For Each nodeGood As XmlNode In goodsList
                TextBox1.AppendText(nodeGood.Value)
            Next
        Next
3
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
16.01.2015, 00:25
MrCrown, Блин, я специально не доделал ту функцию, чтобы Дядя Корней прочитал и понял, как работать с XML, а ты все испортил
Можно было просто изменить
VB.NET Скопировано
1
 MessageBox.Show(nodeGood.Attributes("place").Value)
на
VB.NET Скопировано
1
 MessageBox.Show(nodeGood.ChildNodes(0).Value)
3
1544 / 1507 / 324
Регистрация: 03.10.2012
Сообщений: 1,542
16.01.2015, 00:30
Цитата Сообщение от edward_freedom Посмотреть сообщение
а ты все испорти
Виноват, поторопился. Все правильно.
0
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
16.01.2015, 08:39  [ТС]
edward_freedom, MrCrown, ребят, спасибо от всей души. Очень выручили.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,253
Записей в блоге: 4
22.01.2015, 20:52
Всё намного проще, если использовать XPath
VB.NET Скопировано
1
2
3
4
5
6
7
8
9
10
' Загружаем Xml документ
Dim xDFile As XmlDataDocument = New XmlDataDocument()
xDFile.Load("file.xml")
 
'Выбираем все узлы <doc><city><this>
Dim thisNodes As XmlNodeList = xDFile.SelectNodes("doc/city/this")
 
For Each node As XmlNode In thisNodes
    Console.WriteLine(node.InnerText)
Next
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.01.2015, 20:52
Помогаю со студенческими работами здесь

Парсинг XML документа
Скажите пожалуйста что не так с этим простым кодом? не хочет дать мне XML документ, путь правильный, XML файл правильный if...

Парсинг xml документа
Здравствуйте, Объясните пожалуйста как сделать парсинг xml документа. Что бы не просто парсинг а именно что бы сначала...

Парсинг xml документа на Си
Здравствуйте! Подскажите пожалуйста статью или руководство где описывается как парсить xml документ на Си или хотя бы на С++(желательно...

Парсинг XML документа
Добрый день! у меня есть xml файл и мне его надо разобрать и положить в таблицу.. Необходимо достать все аттрибуты из тэгов...

Парсинг большого XML документа
Доброго времени суток! Помогите пожалуйста спарсить XML файл такого рода. Вот его кусочек: &lt;Tools&gt; &lt;CatalogTool&gt; ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. ) В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер