У меня xml в качестве ответа, мне нужно найти отмеченный красной стрелкой узел: My code: // response to xmlDocument document = new XmlDocument (); document.LoadXml (response.Content); XmlNamespaceManager ns = новый ...

2
Lia 9 Апр 2021 в 22:47

1 ответ

Лучший ответ

Элемент Schema и его потомки объявлены в пространстве имен http://docs.oasis-open.org/odata/ns/edm, на которое необходимо ссылаться в xpath заявление, которое вы ищете.

string xpath = "//edmx:Edmx/edmx:DataServices/edm:Schema[@Namespace='Core.Entities']/edm:EntityType[@Name='Office']/edm:Property[@Name='OfficeKeyNumeric']";

Убедитесь, что ваш XmlNamespaceManager инициализирован этими пространствами имен.

XmlNamespaceManager ns = new XmlNamespaceManager(document.NameTable);
ns.AddNamespace("edmx","http://docs.oasis-open.org/odata/ns/edmx");
ns.AddNamespace("edm","http://docs.oasis-open.org/odata/ns/edm");
2
pfx 9 Апр 2021 в 20:18