Это очень простая проблема, которая у меня есть. Я использую XDocument для генерации файла XML. Затем я хочу вернуть его как класс XmlDocument. И у меня есть переменная XmlDocument, которую мне нужно преобразовать обратно в XDocument, чтобы добавить больше узлов.
Итак, какой самый эффективный метод для преобразования XML между XDocument и XmlDocument? (Без использования какого-либо временного хранилища в файле.)
c#
xml
linq-to-xml
Вим тен Бринк
источник
источник
XmlDocument
(как свойство) иXDocument
(как узел). Если вы хотите сохранить объявление, вам нужно явно обработать его (см. Blogs.msdn.com/b/ericwhite/archive/2010/03/05/… или ответ Дмитрия stackoverflow.com/a/8894680/2688 )Для меня это однолинейное решение работает очень хорошо
источник
Использование этого Расширения, чем просто использование чего-то подобного
источник
Если вам нужно преобразовать экземпляр System.Xml.Linq.XDocument в экземпляр System.Xml.XmlDocument, этот метод расширения поможет вам не потерять объявление XML в результирующем экземпляре XmlDocument:
Надеюсь, это поможет!
источник
Вы можете попробовать записать XDocument в XmlWriter, переданный в XmlReader для XmlDocument.
Если я правильно понимаю концепции, прямое преобразование невозможно (внутренняя структура отличается от XDocument). Но тогда я могу ошибаться ...
источник
Существует обсуждение на http://blogs.msdn.com/marcelolr/archive/2009/03/13/fast-way-to-convert-xmldocument-into-xdocument.aspx
Кажется, что чтение XDocument через XmlNodeReader является самым быстрым методом. Смотрите блог для более подробной информации.
источник
Если вам нужен Win 10 UWP-совместимый вариант:
источник