Форум программистов, компьютерный форум, киберфорум
Наши страницы
8Observer8
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 3.

Получение данных из XML с помощью XPath на C#

Запись от 8Observer8 размещена 04.02.2020 в 16:27

Я использую XPath. У Метанита есть урок: https://metanit.com/sharp/tutorial/16.4.php Я выбрал XPath, потому что программирую на нескольких языках: C#, TypeScript и Python. Работа с XPath во всех этих языках одинаковая. XPath - это язык запросов к XML документам.

Нужно получить значение узла "keyMaterial"

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0"?>
<Profile xmlns="http://www.microsoft.com/networking/profile/v1">
    <name>Tester</name>
    <Config>
        <ID>
            <name>Tester</name>
        </ID>
    </Config>
    <RAS>
        <security>
            <sharedKey>
                <keyMaterial>01000000D08C9DDF0115D</keyMaterial>
            </sharedKey>
        </security>
    </RAS>
</Profile>
Решение на XPath:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Xml;
 
namespace KeyMaterial
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlDocument xml = new XmlDocument();
            xml.Load("test.xml");
 
            XmlNamespaceManager xnm = new XmlNamespaceManager(xml.NameTable);
            xnm.AddNamespace("a", "http://www.microsoft.com/networking/profile/v1");
 
            XmlElement root = xml.DocumentElement;
            XmlNode childNode = root.SelectSingleNode("//a:keyMaterial", xnm);
            Console.WriteLine("Результат: " + childNode.InnerText);
 
            Console.ReadKey();
        }
    }
}
Тема
Размещено в Без категории
Просмотров 106 Комментарии 0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.