Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
 Аватар для GENDALF_ISTARI
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
.NET 4.x

Как получить тег в XML

28.04.2014, 19:12. Показов 5041. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как получить тег в XML, с помощью известного атрибута в C#
хотелось бы простой код получения тега, по атрибуту

вот файл XML, сохранен в кодировки utf-8, чтоб поддерживался русский текст в XML

XML
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8" ?>
 <lang>
  <version_lang>1.000</version_lang>
   <lang_1 Name_lang="Русский язык"/>
   <lang_2 Name_lang="Немецкий язык"/>
   <lang_3 Name_lang="Китайский язык"/>
   <lang_4 Name_lang="Японский язык"/>
   <lang_5 Name_lang="Арабский язык"/>
 </lang>
ну и код полностью проги, и кнопка

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
using System.IO;
 
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
 private void button1_Click(object sender, EventArgs e)
        {
            string str = "";
            string teg= "";
            str = textBox1.TEXT;  // пускай вводим (Китайский язык)
 
            if (str!="")
            {
                 // код получения тега
                 MessageBox.Show("Ваш тег: "+teg);  // тут бы хотелось получить имя тега 
            }
           else
           {
             MessageBox.Show("Не должно бить пустым");
           }
       }   
    }
}
Поиск тегов , по атрибуту
хотелось бы получить
пишу:
Русский язык->получу ответ->Ваш тег: lang_1
Немецкий язык->получу ответ->Ваш тег: lang_2
Китайский язык->получу ответ->Ваш тег: lang_3
Японский язык->получу ответ->Ваш тег: lang_4
Арабский язык->получу ответ->Ваш тег: lang_5
и так далие.......

Думаю просто понять , что я хочу
код получения атрибутом, тег , я гуглил не нашел
а если нашел то сложный, и не понятный
мнеб простой код , и понятный , пускай даже метод рядом будет с кнопкой
и кнопка будет обращаться к нему, вводить в метод переменную str
и получать ответ , больше ни чего мне не надо
Жду ответа , от умных людей, и спецов по С#, XML

а то получается , тегом , получить атрибуты можно , наоборот, не чего не понятно
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2014, 19:12
Ответы с готовыми решениями:

XML: как создать тег
Здравствуй читатель! Помоги если знаешь - как в c# создать xml тег такого вида?: &lt;Начало ИД=&quot;111&quot;&gt;Обувь&lt;/Начало&gt; ...

Парсингом XML (<тег></тег> переходит в <тег/>)
Здравствуйте. У меня такая проблема. Имею исходный файл &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;root&gt; ...

XML. Как вставить тег в нужное место?
Здравствуйте. Помогите с функцией для вставки тега &lt;oldprice&gt; после &lt;price&gt; в XML файле. В общем ситуация такая! &lt;shop&gt; ...

5
C#,XNA Game Studio
 Аватар для WhiteMaster
36 / 36 / 8
Регистрация: 26.04.2014
Сообщений: 195
28.04.2014, 19:42
кто то тут спрашивал подобное ,наверное это были вы)), так вот почитайте на мсдн Xelement, то что вам нужно, вкартце это выглядит так
C#
1
Xelement.SelectXpathElement("Здесь условия выбора")
1
 Аватар для GENDALF_ISTARI
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
30.04.2014, 22:49  [ТС]
пробывал нет не катит

C#
1
Xelement.SelectXpathElement("Здесь условия выбора")
лазил ни чего не понял , хоть напиши пример
как это работает
0
 Аватар для GENDALF_ISTARI
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
01.05.2014, 00:13  [ТС]
Как получить Элемент в XML C#, зная значение атрибута
я попутал , путаница произошла в том что

ТЕГ это то что между <start_version> , и </start_version>
XML
1
<start_version>ПРИВЕТ</start_version> // это ПРИВЕТ - и есть тег
а Элемент это start_version

так вот мне нужен Элемент - а не тег
я извиняюсь попутал

а Атрибут это
я так думаю attrib
атрибут это attrib , а значение атрибута это Ррррр кися)))
вот код примера
Если не правильно думаю поправите

XML
1
2
3
4
<Element_start>
<start_version>ПРИВЕТ</start_version>
<start_version attrib="Ррррр кися)))" />
<Element_start>
так вот что нужно

есть код
XML
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8" ?>
 <lang>
  <version_lang>1.000</version_lang>
   <lang_1 Name_lang="Русский язык" File_Name="lang\\rus.zip"  />
   <lang_2 Name_lang="Немецкий язык" File_Name="lang\\ger.zip"  />
   <lang_3 Name_lang="Китайский язык" File_Name="lang\\chaina.zip"  />
   <lang_4 Name_lang="Терористический язык" File_Name="lang\\benladen.zip"  />
 </lang>


мне нужно с этого кода получить Элемент конкретный
например
я пишу значение атрибута - Китайский язык
то получу ответ Элемент - lang_3
пишу значение атрибута -Немецкий язык
то получу ответ Элемент - lang_2
и так далие.....

Короче атрибутом Name_lang искать значение что введу
и если это значение совпадает, то вывести Элемент , атрибута

а на счет атрибута File_Name - он мне не важен
то я сам разберусь как его получить.

вот код полностью утилиты


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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml; // XML
using System.Xml.Linq; // XML
using System.IO; // файлы
using System.Diagnostics; // для запуска файла
using System.Threading;  // время
using System.Xml.XPath; // подключил
 
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        
       
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            string s = "";
            string rezul = "";
            string file="lang.xml";
            FileInfo fi=new FileInfo(file);
            s=textBox1.Text; // ввожу текст (Немецкий язык)
 
            if (fi.Exists==true && s!="") // файл , и тест поиска не должен быть пустым
            {
                
                
                // код получение Элемента , зная значение атрибута, или метод поиска Элемента , по значению атрибута
                
                
                textBox2.Text = rezul;  // Выводим Элемент
                
                
 
            }
            else
            {
            
            MessageBox.Show("Файл пуст, или строка поиска Элемента");
            }
        }
 
 
        
    }
 
    
 
   
}
Жду вас братья по разуму
0
 Аватар для LooseVoice
55 / 55 / 14
Регистрация: 18.04.2014
Сообщений: 170
01.05.2014, 01:11
GENDALF_ISTARI, почему бы вам не воспользоватся linq to xml?
прочтите статью, http://habrahabr.ru/post/24673/ в ней есть по сути то, что вам надо
1
 Аватар для GENDALF_ISTARI
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
01.05.2014, 04:17  [ТС]
Спасибо LooseVoice
шас разберу, выложу код
Чтоб вопросов дальнейшем, не было

Добавлено через 48 минут
Получилось
вот Рабочий код

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using System.Xml;
using System.Xml.XPath;
 
namespace WindowsFormsApplication7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            string s = "";
            
            s = textBox1.Text; // ввожу текст (Немецкий язык)
 
            if (s != "") // файл , и тест поиска не должен быть пустым
            {
 
 
                string fileName = "lang.xml";
                //читаем данные из файла
                XDocument doc = XDocument.Load(fileName);
                foreach (XElement el in doc.Root.Elements())
                {
                    foreach (XAttribute attr in el.Attributes())
                    {
                        if (attr.Value == s)
                        {
                            //MessageBox.Show(el.Name.LocalName);
                            textBox2.Text = el.Name.LocalName;
                        }
                        
                    
                    }
                  
                }
 
 
 
            }
            else
            {
 
                MessageBox.Show("Пусто");
            }
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
 
 
 
        }
 
       
    }
}
Пока
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2014, 04:17
Помогаю со студенческими работами здесь

как создать только закрывающий тег xml в php
Помогите пожалуста в вопросе-буду при очень при очень многим балгодарен--как создать только закрывающий тег xml в php -- если...

Как в XML вставить новый тег в определенном месте?
Необходимо в существующем XML добавить новый тег. В определенном месте. Что надо сделать, чтобы в строке 19 появился тег TotalNoOfCalls,...

Как получить путь до конкретного элмента ? | XML | DOM | Simple XML
Добрый день! Как Вы уже знаете, в Simple XML, чтобы получить доступ в XML файле к какому-либо элементу, нужно знать его путь....

Как отправить на сервер xml запрос с помощью post и получить ответ в xml?
нужно отправить на сервер xml запрос с помощью post и получить ответ в xml, погуглил нашел примеры, осталось лишь проверить примеры на...

Как получить объектную модель из XML, записать в класс и затем вернуть обратно в XML Qt 5.13
Всем доброго времени суток. Есть вот такой кусок xml файла: &lt;copyright&gt; &lt;copyrightPara&gt;&lt;emphasis&gt;Copyright (C)...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru