Работа с XML. NullReferenceException - C#

Узнай цену своей работы

Формулировка задачи:

Доброго дня. Возникла проблема и я не могу понять, что тут может быть не так. Есть xml, где нужу взять ноду, но почему-то мне говорят о подобном:
Листинг программы
  1. NullReferenceException: Object reference not set to an instance of an object
  2. TooltipXml.DefautLanguage (System.String xmlPath) (at Assets/Scripts/TooltipXml.cs:191)
  3. TooltipManager.Start () (at Assets/Scripts/TooltipManager.cs:48)
Я не понимаю, почему он не находит запись в, следующем, xml файле.
Листинг программы
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <root>
  3. <settings>
  4. <defautLang>ru</defautLang>
  5. <languages>
  6. <lang>ru</lang>
  7. <lang>en</lang>
  8. <lang>de</lang>
  9. <lang>fr</lang>
  10. </languages>
  11. </settings>
  12. <element id="2">
  13. <localization lang="en" tooltip="Cube in cube №2" text="" />
  14. <localization lang="ru" tooltip="Куб внутри куба №2" text="" />
  15. </element>
  16. <element id="5">
  17. <localization lang="en" tooltip="Capsule" text="" />
  18. <localization lang="ru" tooltip="капсула" text="" />
  19. </element>
  20. <element id="7">
  21. <localization lang="en" tooltip="Sphere №2 in cube №2" text="" />
  22. <localization lang="ru" tooltip="сфера №2 в кубе №2" text="" />
  23. </element>
  24. <element id="6">
  25. <localization lang="en" tooltip="Sphere №1 in cube №2" text="" />
  26. <localization lang="ru" tooltip="сфера №1 в кубе №2" text="" />
  27. </element>
  28. </root>
Нужны данные из строки.
<defautLang>ru</defautLang>
Я забираю данный из xml с помощью следующего метода:
Листинг программы
  1. public string DefautLanguage(string xmlPath)
  2. {
  3. string tmp ="";
  4. XmlDocument xmlDoc = new XmlDocument();
  5. xmlDoc.Load(xmlPath);
  6. XmlElement xRoot = xDoc.DocumentElement;
  7. XmlNode nodelocal = xRoot.SelectSingleNode("settings/defaultLang");
  8. return nodelocal.Value;
  9. }
Потом соответственно вызываю:
Листинг программы
  1. local = tooltipXml.DefautLanguage(fullPath);
Но в чём проблема? Где я ошибся или что-то не понял? Заранее спасибо за вашу помощь.

Решение задачи: «Работа с XML. NullReferenceException»

textual
Листинг программы
  1.     public string DefautLanguage(string xmlPath)
  2.     {
  3.         XmlDocument xmlDoc = new XmlDocument();
  4.         xmlDoc.Load(xmlPath);
  5.         XmlElement xRoot = xmlDoc.DocumentElement;
  6.         XmlNode nodelocal = xRoot.SelectSingleNode("settings/defaultLang");
  7.  
  8.         return nodelocal.Value;
  9.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут