Как с помощью LINQ-to-XML избежать возврата подробных пространств имен для потомков после вызова .Descendants()?C#

Место общения программистов C#
Ответить
Anonymous
 Как с помощью LINQ-to-XML избежать возврата подробных пространств имен для потомков после вызова .Descendants()?

Сообщение Anonymous »

Если у меня есть XDocument, и я знаю пространство имен, но не его префикс, и хочу получить определенного потомка с префиксами, а не с пространствами имен (например, точно так же, как это было в исходной строке XML), как я могу это сделать? p>
Например, предположим, что у меня есть Возможно, я бы попробовал:

Код: Выделить всё

XElement envelope = XElement.Parse(soapEnvelopeXml);
XNamespace envelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
return envelope.Descendants(envelopeNamespace + "Body").FirstOrDefault()?.ToString();
Но это дает мне полное пространство имен, в результате чего: Хотя мне нужен фрагмент именно того XML, с которого я начал: Могу ли я как-нибудь просто удалить объявления пространства имен (но не префиксы)? Или есть более элегантный способ более точно получить подмножество XML, с которого я начал?


Подробнее здесь: https://stackoverflow.com/questions/786 ... he-descend
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»