Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Dimun

Как распарсить XML-файл

25.10.2012, 15:27. Показов 1697. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос в следующем.
Имею xml файл:

XML
1
2
3
4
5
6
7
8
9
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="month.xsl"?>
<Begin>
<Name></Name>
<color></color>
<day data="20120801">
<......>.......</......>
......
</day>
Могу-ли я вытащить параметр data (с помощью Asp) и записать её в переменную?
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.10.2012, 15:27
Ответы с готовыми решениями:

Как распарсить Xml-файл
Как тут выдернуть uid first_namе и т.д. XDocument doc =...

Как распарсить XML файл?
Добрый вечер всем. Возникла следующая проблема. Не могу придумать как распарсить XML файл. Можно с помощью регулярок. Файл следующий: ...

Как правильно распарсить xml файл
Здравствуйте. Подскажите пожалуйста . У меня есть файл вот с таким содержанием &lt;ROW&gt; &lt;username&gt; NT AUTHORITY\LOCAL...

3
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
25.10.2012, 23:42
Пусть будет такой xml файл:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="month.xsl"?>
<Begin>
<Name></Name>
<color></color>
<day data="20120801">
</day>
</Begin>
<Begin>
<Name></Name>
<color></color>
<day data="20120802">
</day>
</Begin>
<Begin>
<Name></Name>
<color></color>
<day data="20120803">
</day>
</Begin>
И вот как можно получить из него все day data:
C#
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
        int aPos, aEnd, alenStart;
 
        private void button1_Click(object sender, EventArgs e)
        {
            int[] Data = new int[3];
            string[] AllBegin = new string[3];
            string StrFile = File.ReadAllText("D:\\1.xml");
            for (int i = 0; i < 3; i++)
            {
                AllBegin[i] = GetPars(StrFile, "<Begin>", "</Begin>", i);
                MessageBox.Show(AllBegin[i]);
            }
            for (int i = 0; i < 3; i++)
            {
                Data[i] = Convert.ToInt32(Pars(AllBegin[i], "<day data=\"", "\">", 0));
                MessageBox.Show(Convert.ToString(Data[i]));
            }
        }
 
        public string GetPars(string strSource, string strStart, string strEnd, int Pos)
        {
            int iPos = 0;
            int iEnd = 0;
            int lenStart = strStart.Length;
            string strResult = null;
            strResult = string.Empty;
            iPos = strSource.IndexOf(strStart, 0);
            iEnd = strSource.IndexOf(strEnd, iPos + lenStart) - 2;
            if (iPos != -1 && iEnd != -1)
            {
                strResult = strSource.Substring(iPos + lenStart, iEnd - (iPos + lenStart));
            }
            else
            {
                strResult = "";
            }
 
            if (strResult != "" & Pos > 0)
            {
                int PossStart = iEnd;
                int PossEnd = strSource.Length;
 
                for (int i = 1; i <= Pos; i++)
                {
                    strSource = strSource.Substring(PossStart, PossEnd - PossStart);
                    if (iPos != -1 && iEnd != -1)
                    {
                        strResult = Pars(strSource, strStart, strEnd, 0);
                    }
                    else
                    {
                        strResult = "";
                    }
                    PossStart = aEnd;
                    PossEnd = strSource.Length;
                }
            }
            return strResult;
        }
 
 
        public string Pars(string strSource, string strStart, string strEnd, int startPos = 0)
        {
            aPos = strStart.Length + 2;
            aEnd = strEnd.Length;
            alenStart = strStart.Length;
            string strResult = null;
            strResult = string.Empty;
            aPos = strSource.IndexOf(strStart, startPos);
            aEnd = strSource.IndexOf(strEnd, aPos + alenStart);
            if (aPos != -1 && aEnd != -1)
            {
                strResult = strSource.Substring(aPos + alenStart, aEnd - (aPos + alenStart));
            }
            return strResult;
        }
0
12 / 12 / 3
Регистрация: 30.11.2011
Сообщений: 76
26.10.2012, 10:02
Обязательно вручную парсить? Может, использовать класс XmlDocument и его экземплярный метод selectNodes?
0
128 / 128 / 8
Регистрация: 24.11.2010
Сообщений: 237
27.10.2012, 15:05
Согласен с добрый тапкожуй. Через xmlDocument куда все проще
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2012, 15:05
Помогаю со студенческими работами здесь

Как считать и распарсить xml файл
Здраствуйте имеется xml файл &lt;?xml version=&quot;1.0&quot;?&gt; &lt;root&gt; &lt;item name=&quot;data&quot;&gt;data.txt&lt;/item&gt; &lt;/root&gt; Подскажите как считать его...

Как распарсить xml
Собственно: &lt;?php $request .= '&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;'; $request .= '&lt;s:Envelope...

Как распарсить XML
Есть вот такой xml документ. Нужно его распарсить, нужны sessionId, statusCode и description ns:GCCreateUserSignedResponse...

Как распарсить XML
Привет! Помогите плз выбрать данные из XML файла &lt;Main&gt; &lt;Login&gt;Admin&lt;/Login&gt; &lt;Password&gt;111&lt;/Password&gt; ...

Как распарсить XML
Добрый день:) все никак не понимаю, как из xml брать элементы, вот такого вида: &lt;npc_info&gt; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru