Добрый день. есть XML файл
<issuance xmlns="http://www.w3schools.com" sender="35">
<general>
<number>35</number>
<dateIssuance>2016-12-22</dateIssuance>
<dateTransaction>2016-12-10</dateTransaction>
<documentType>ORIGINAL</documentType>
</general>
<seller>
//тут тоже есть поля и т.д.
</seller>
</issuance>
Передаю в метод загруженый xml документ и пытаюсь получить значения полей
XmlNode doc = docs;
XmlNode selectNodeGeneral = doc.SelectSingleNode("/issuance/general");
elnVat.number = selectNodeGeneral.SelectSingleNode("number").InnerText;
elnVat.dateIssuance = selectNodeGeneral.SelectSingleNode("dateIssuance").InnerText;
но строчка XmlNode selectNodeGeneral = doc.SelectSingleNode("/issuance/general");
возвращaет null, если убрать xmlns="http://www.w3schools.com" sender="35"
и оставить только ` то код начинает работать.
Подскажите как мне быть?
Нужно указывать полное имя ноды, вместе с namespace, через XmlNamespaceManager
, примерно так:
// считая, что docs - это XmlDocument
XmlNamespaceManager ns = new XmlNamespaceManager(docs.NameTable);
ns.AddNamespace("w3s", "http://www.w3schools.com");
XmlNode doc = docs;
XmlNode selectNodeGeneral = doc.SelectSingleNode("/w3s:issuance/w3s:general", ns);
elnVat.number = selectNodeGeneral.SelectSingleNode("w3s:number", ns).InnerText;
elnVat.dateIssuance = selectNodeGeneral.SelectSingleNode("w3s:dateIssuance", ns).InnerText;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хотел бы узнать, как в консоле реализовать генерацию, движение и стрельбу противников
Пишу мини-игру на Console C#Для более красивого отображения хочется убрать полосы прокрутки снизу и сбоку консоли