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

Вывести текст из xml файла без тегов

27.07.2019, 08:56. Показов 8253. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
мне нужно чтобы в консоль вывело текст из xml файла БЕЗ ТЕГОВ !! А выводит в консоль вот так:

XML
1
2
3
4
<?xml version="1.0" encoding="utf-8"?>
<Sity>
<Mеsto>Варшава</Mеsto>
</Sity>
А мне нужно чтобы в консоль выводило только слово Варшава БЕЗ ТЕГОВ!! Как сделать? Вот мой код си шарп:

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Xml;
using System.Xml.Linq;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamReader str = new StreamReader("XMLFile1.xml");
            string s;
 
            while (str.EndOfStream != true)
            {
                s = str.ReadLine();
 
                Console.WriteLine(s);
            }
            str.Close();
           
            Console.ReadKey();
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.07.2019, 08:56
Ответы с готовыми решениями:

Заменить текст внутри тегов xml файлов
есть группа xml файлов. внутри тега &lt;Зачтено&gt;&lt;/Зачтено&gt; в каждом xml файле разные суммы. возможно ли как то массово заменить значение в...

Вывод значений из одинаковых тегов XML без атрибутов
Как при проходе по XML файлу выводить данные одинаковых тегов в одном узле, которые не имеют атрибутов? Просматриваю документ этим...

Редактирование XML без изменения порядка атрибутов у тегов
Добрый вечер, есть xml &lt;?xml version=&quot;1.0&quot;?&gt; &lt;root&gt; &lt;CurrentStep id=&quot;0&quot; /&gt; &lt;Steps&gt; &lt;Step b=&quot;dfgdfg&quot; a=&quot;dfgfdg&quot;...

6
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
27.07.2019, 09:16
Лучший ответ Сообщение было отмечено Элд Хасп как решение

Решение

Anton124, для работы с Xml существуют стандартные средства, а ты делаешь всего лишь чтение в строку всего документа.
<?xml version="1.0" encoding="utf-8"?>
<Sity>
<Mesto>Варшава</Mesto>
</Sity>
C#
1
2
3
4
5
6
7
8
9
10
            string InputXML = @"test.txt";
 
            XmlDocument XmlDoc = new XmlDocument();
 
            XmlDoc.Load(InputXML);
 
            foreach (XmlNode CityNode in XmlDoc.GetElementsByTagName("Sity"))
            {
                Console.WriteLine(CityNode.InnerText);
            }
1
0 / 0 / 0
Регистрация: 01.11.2018
Сообщений: 146
27.07.2019, 09:32  [ТС]
ой ! нужна ВАША помощь. при создании второго тега в консоли слова сливаются в одну строчку. вот xml файл:

<?xml version="1.0" encoding="utf-8"?>
<Sity>
<Mеsto1>Варшава</Mеsto1>
<Mеsto2>Вашингтон</Mеsto2>
</Sity>

а в консоль выводит:
ВаршаваВашингтон

как разделить чтоб Вашингтон был с новой строчки?
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
27.07.2019, 09:39
Лучший ответ Сообщение было отмечено Элд Хасп как решение

Решение

Anton124,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            string InputXML = @"test.txt";
 
            XmlDocument XmlDoc = new XmlDocument();
 
            XmlDoc.Load(InputXML);
 
            foreach (XmlNode CityNode in XmlDoc.GetElementsByTagName("Sity"))
            {
                foreach (XmlNode PlaceNode in CityNode.ChildNodes)
                {
                    Console.WriteLine(PlaceNode.InnerText);
                }                
            }
1
0 / 0 / 0
Регистрация: 01.11.2018
Сообщений: 146
27.07.2019, 09:42  [ТС]
Огромное вам спасибо! Андрей Воробей ! Дай Бог вам здоровья! Пусть вам Бог помогает!
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,110
Записей в блоге: 2
27.07.2019, 10:09
Цитата Сообщение от Anton124 Посмотреть сообщение
А мне нужно чтобы в консоль выводило только слово Варшава БЕЗ ТЕГОВ!! Как сделать? Вот мой код си шарп:
XML - это структурированный документ. И при работе с ним на работать с его структурами, а не читать его просто как текст.

Я бы посоветовал использовать сериализацию/десериализацию XML. В результате вы получает объект соответствующий структуре XML документа и данные этого документа будут в свойствах объекта.

Делается это так.
Создаёте в проекте новый класс. Для удобства даёте ему имя созвучное с вашим XML документом, допустим, SityXML. Из полученного файла удаляете объявление класса. Должно получиться что-то такое
C#
1
2
3
4
5
6
7
8
9
10
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1904
{
 
}
Копируете весь ваш XML в буфер клавиатуры. Ставите курсор в созданный новый файл на пустую строчку в пространстве имён. В данном случае это строчка 9. Заходите "Меню" -> "Правка" -> "Специальная вставка" -> "Вставить XML как классы". У вас вставиться в файл набор классов соответствующий XML документу. В данном случае это будет один класс:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1904
{
 
    // Примечание. Для запуска созданного кода может потребоваться NET Framework версии 4.5 или более поздней версии и .NET Core или Standard версии 2.0 или более поздней.
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Sity
    {
 
        private string mеstoField;
 
        /// <remarks/>
        public string Mеsto
        {
            get
            {
                return this.mеstoField;
            }
            set
            {
                this.mеstoField = value;
            }
        }
    }
 
 
}
Теперь можно использовать этот класс для получения информации.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    class Program
    {
 
        static void Main(params string[] args)
        {
            /// Объявление сериализатора типа Sity
            XmlSerializer sitySer = new XmlSerializer(typeof(Sity));
            /// Поле для хранение полученных данных
            Sity sity;
 
            /// Открытие файла только для чтения
            using (FileStream file = File.OpenRead("XMLFile1.xml"))
                /// Получение данных в объект
                sity = (Sity)sitySer.Deserialize(file);
 
            /// Вывод свойства Mеsto полученного объекта
            Console.WriteLine(sity.Mеsto);
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,110
Записей в блоге: 2
27.07.2019, 10:12
Цитата Сообщение от Anton124 Посмотреть сообщение
ой ! нужна ВАША помощь. при создании второго тега в консоли слова сливаются в одну строчку. вот xml файл:
Удаляем полученный ранее тип и тем же способом на его место вставляем новую структуру
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1904
{
 
    // Примечание. Для запуска созданного кода может потребоваться NET Framework версии 4.5 или более поздней версии и .NET Core или Standard версии 2.0 или более поздней.
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Sity
    {
 
        private string mеsto1Field;
 
        private string mеsto2Field;
 
        /// <remarks/>
        public string Mеsto1
        {
            get
            {
                return this.mеsto1Field;
            }
            set
            {
                this.mеsto1Field = value;
            }
        }
 
        /// <remarks/>
        public string Mеsto2
        {
            get
            {
                return this.mеsto2Field;
            }
            set
            {
                this.mеsto2Field = value;
            }
        }
    }
 
}
Получаем данные
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    class Program
    {
 
        static void Main(params string[] args)
        {
            /// Объявление сериализатора типа Sity
            XmlSerializer sitySer = new XmlSerializer(typeof(Sity));
            /// Поле для хранение полученных данных
            Sity sity;
 
            /// Открытие файла только для чтения
            using (FileStream file = File.OpenRead("XMLFile1.xml"))
                /// Получение данных в объект
                sity = (Sity)sitySer.Deserialize(file);
 
            /// Вывод свойств полученного объекта
            Console.WriteLine(sity.Mеsto1);
            Console.WriteLine(sity.Mеsto2);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.07.2019, 10:12
Помогаю со студенческими работами здесь

Обернуть текст без тегов в HTML
Здравствуйте. Задача: Есть какой-то HTML, ну к примеру: &lt;center&gt; &lt;label class=&quot;can-copy-label&quot;&gt;Эти два элемента...

Выводить только текст без тегов HTML
Очень плохо разбираюсь с шаблонами, а именно их составление... Написал такое: preg_match_all('/&lt;A...

загнать текст в базу данных из wp_editor без тегов
Здравствуйте! Сам процесс вытягивания с таблицы БД несложен, но вот в чем проблема: из wp_editor-а текст заносится вместе с тегами...

Чтение XML файла и запись тегов и атрибутов в БД
Здравствуйте. Дайте, пожалуйста, совет по решению такой задачи: из формы на сервер поступает url XML файла. На сервере необходимо...

Считывание всего текста XML файла(заголовка,тегов,атрибутов)
День добрый. Как считать весь текст XML файла (&lt;?xml version=&quot;1.0&quot;?&gt;,теги,атрибуты)в string? А так же полученную строку записать в другой...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru