конвертировать XmlNode в XNode?
-
04-07-2019 - |
Вопрос
Кто-нибудь знает, как превратить System.Xml.XmlNode в System.Xml.Linq.XNode?
Решение
Я никогда не пробовал, но моей первой мыслью было бы что-то вроде:
XmlNode myNode;
XNode translatedNode = XDocument.Parse(myNode.OuterXml);
Другие советы
Блог Эрика Уайта - это место для классных преобразований XML / XLINQ и подобных. Я знаю этот вопрос до публикации, но я нашел его, глядя на какой-то другой вопрос, так что, возможно, люди все еще сталкиваются с этим изрядным количеством. В его блоге много оптимизированного LINQ, как я подозреваю, что вызов .Parse () для оригинального ответа неоптимален, на самом деле я знаю, что это не так. Р>
Parse потребует загрузки XML за один раз, Эрик использовал методы расширения, которые обрабатывают преобразование XML с помощью XmlReader / Writer. Эти методы могут передавать входные данные, поэтому, если ваш XML имеет какой-либо существенный размер, вы должны использовать его. Р>
Я не думаю, что есть, но зачем вам это нужно? Каждый из них - это самый нижний «лист» структуры XML для разных способов чтения документа.
Если вы используете Linq to Xml и XDocument, у вас будет весь синтаксис в стиле linq и новые функциональные возможности, но на самом деле все, что касается выбора узла.
Когда у вас есть элемент, с которым вы имеете дело, зачем вам переключаться?