Студент :)
895 / 328 / 12
Регистрация: 29.01.2011
Сообщений: 1,679
1

Значение узла XML

11.06.2014, 20:51. Показов 2448. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, есть некий файл XML, который грузится в память.
XML
1
2
3
4
5
6
7
8
9
10
11
12
<response list="true">
<count>count</count>
<message>
<body>
    body
</body>
<attachment>
<wall>
<text>
тут текст
</text>
</message>
Как мне получить значение <text> ? т.е. в данном примере "тут текст" ?
C#
1
2
3
4
5
6
7
                XmlNodeList RSSItems_2 = xmlDoc.SelectNodes("response");
                foreach (XmlNode node in RSSItems_2)
                {
                    History currentNode = new History();
                    currentNode.count = ParseNodeValue(node, "count");
                    count_msg = currentNode.count;
                }
Это для разбора <count>count</count>...но тут все просто, а как там быть ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2014, 20:51
Ответы с готовыми решениями:

Считать значение узла XML
Помогите считать value от Int_in_Vanilla в переменную. Это часть файла .config другой программы. ...

Получить значение конкретного узла xml
Здравствуйте. Как с помощью C# получить значение конкретного узла XML документа и присвоить его...

Выбор узла XML по значению другого узла
Работаю с xml. Его структура такова : &lt;data&gt; &lt;item&gt; &lt;id&gt;182&lt;/id&gt; &lt;art_url/&gt; ...

Добавление узла в xml
При добавлении нового узла все содержимое файла затирается. XDocument xDoc1=new XDocument(); ...

4
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
11.06.2014, 23:33 2
Лучший ответ Сообщение было отмечено nanshakov как решение

Решение

nanshakov,
C#
1
2
3
4
5
6
            XDocument xdoc = XDocument.Load("myxml.xml");
            string text;
            foreach (var node in xdoc.Descendants("response").Elements("message").Elements("text"))
            {
                text = node.Value;
            }
Добавлено через 52 секунды
это для такого xml

Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8" ?>
<response list="true">
<count>count</count>
    <message>
      <body>
       body
      </body>
      <text>
           qwewrewrwerwqre
      </text>
   </message>
</response>
0
Студент :)
895 / 328 / 12
Регистрация: 29.01.2011
Сообщений: 1,679
11.06.2014, 23:41  [ТС] 3
А если я работаю через
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                        XmlDocument xmlDoc_ = new XmlDocument();
                        xmlDoc_.LoadXml(s_);
                        XmlNodeList RSSItems_3_ = xmlDoc.SelectNodes("response/message/attachment/wall/text");
                        foreach (XmlNode node in RSSItems_3_)
                        {
                            History currentNode = new History();
                            if (currentNode.Value != null)
                            {
                                currentNode.text = ParseNodeValue(node, currentNode.Value);
                                HistoryCollection.Add(currentNode);
                                attach = true;
                            }
                            else
                            {
                                attach = false;
                            }
                        }
И вид xml как на скриншоте, нужно добраться до поля текст...
Миниатюры
Значение узла XML  
0
Студент :)
895 / 328 / 12
Регистрация: 29.01.2011
Сообщений: 1,679
11.06.2014, 23:49  [ТС] 4
Всякие body / date / uid я легко получаю, проблем нет. А вот как узел раздербанить ?
XmlNode.Value - свойстов ? Но пока не разобрался, у меня все currentNode.Value получаются нули.
0
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
12.06.2014, 00:05 5
Лучший ответ Сообщение было отмечено nanshakov как решение

Решение

nanshakov, хз , я linq to xml пару дней изучаю только

Цитата Сообщение от nanshakov Посмотреть сообщение
А если я работаю через
почему не юзать XDocument ?

Добавлено через 2 минуты
Цитата Сообщение от nanshakov Посмотреть сообщение
И вид xml как на скриншоте, нужно добраться до поля текст...
с линкью будет

C#
1
foreach (var node in xdoc.Descendants("response").Elements("message").Elements("attachment").Elements("wall").Elements("text"))
Добавлено через 7 минут
nanshakov, кстати вот через XMLDocument
C#
1
2
3
4
5
6
7
8
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("myxml.xml");
 
            XmlNodeList RSSItems_3_ = xmlDoc.SelectNodes("response/message/attachment/wall/text");
            foreach (XmlNode node in RSSItems_3_)
            {
                richTextBox1.Text = node.InnerText; //для наглядности выводил в текст бокс
            }
1
12.06.2014, 00:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2014, 00:05
Помогаю со студенческими работами здесь

Удаление узла XML
В общем имеется такой XML &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServerTaskWorkerConfig&gt; &lt;!--...

Удаление узла xml
Как удалить элемент из xml документа?

Изменить содержимое узла xml
Всем привет. Я только начинаю изучать C#. Есть следующий фрагмент xml: &lt;?xml version=&quot;1.0&quot;...

Добавление и удаление узла в XML
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;PassSaver&gt; &lt;profile name=&quot;1&quot; pass=&quot;2&quot;&gt; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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