Если у меня есть 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