C # XMLDocument Assistance

1

У меня есть следующий XML файл.

  <THE_SETTINGS>
    <SOURCE_FOLDER>\SERVER_NAME\folder1\</SOURCE_FOLDER>
    <NETWORK_DEVICE>eth1<SERIAL>A0123456</SERIAL></NETWORK_DEVICE>
  </THE_SETTINGS>

В моем коде С# я читаю в документе XML следующим образом

XmlDocument xmldoc = new XmlDocument(); 
xmldoc.Load("PATH_TO_XML");

Я могу успешно прочитать значение SOURCE_FOLDER и SERIAL в переменных, однако, когда я получаю неправильное значение при попытке прочитать поле NETWORK_DEVICE. Мой ожидаемый результат для network_device_name должен быть network_device_name = eth1, но я получаю комбинированный ответ network_device и serial. IE eth1A0123456

string source_folder_value;
string network_device_name;
string serial;
if(xmldoc.SelectSingleNode("//THE_SETTINGS/SOURCE_FOLDER") != null )
{
    //Success
    source_folder_value= xmldoc.SelectSingleNode("//THE_SETTINGS/SOURCE_FOLDER").InnerText.ToString();
}
if(xmldoc.SelectSingleNode("//THE_SETTINGS/NETWORK_DEVICE") != null )
{
    //Failed after this line network_device_name = "eth1A0123456"
    network_device_name= xmldoc.SelectSingleNode("//THE_SETTINGS/NETWORK_DEVICE").InnerText.ToString();
}
if(xmldoc.SelectSingleNode("//THE_SETTINGS/NETWORK_DEVICE/SERIAL") != null )
{
    //Success serial=A0123456
    serial= xmldoc.SelectSingleNode("//THE_SETTINGS/NETWORK_DEVICE/SERIAL").InnerText.ToString();
}

Как получить только eth1 для имени сети?

Теги:
xpath
xmldocument

2 ответа

0
Лучший ответ

Попробуй это:

//THE_SETTINGS/NETWORK_DEVICE/text()
  • 0
    Можете ли вы уточнить? Я не могу найти какую-либо функцию расширения / текст (). Это не работает
  • 0
    @PeterH, network_device_name = xmldoc.SelectSingleNode("//THE_SETTINGS/NETWORK_DEVICE/text()").InnerText; , Возвращает eth1 . И нет необходимости вызывать ToString() для строкового объекта ...
Показать ещё 1 комментарий
1

Пытаться

xmldoc.SelectSingleNode("//THE_SETTINGS/NETWORK_DEVICE").FirstChild.InnerText
  • 0
    Можете ли вы уточнить? почему его не работает или не соответствует вашим требованиям.?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню