2010-11-09 3 views
36


Я хотел преобразовать строку (которая, очевидно, xml) в XmlNode в C#. Пока я искал сеть, я получил этот код. Мне хотелось бы знать, является хорошим способом преобразования строки в XmlNode? Я должен преформировать это преобразование в цикле, так это вызывает проблемы с производительностью?Лучший способ конвертировать строку в XmlNode в C#

 XmlTextReader textReader = new XmlTextReader(new StringReader(xmlContent)); 
     XmlDocument myXmlDocument = new XmlDocument(); 
     XmlNode newNode = myXmlDocument.ReadNode(textReader); 

Пожалуйста, ответьте,

Благодаря
Alex

ответ

81

должен быть прямолинейный:

 string xmlContent = "<foo></foo>"; 
     XmlDocument doc = new XmlDocument(); 
     doc.LoadXml(xmlContent); 
     XmlNode newNode = doc.DocumentElement; 

или с помощью LINQ, если это вариант:

 XElement newNode = XDocument.Parse(xmlContent).Root; 
+4

Я получаю эту ошибку при попытке: «Узел, который нужно вставить, связан с другим контекстом документа». – iambriansreed

+0

см. Http://stackoverflow.com/questions/3019136/the-node-to-be-inserted- is-from-a-different-document-context – simonalexander2005

+0

Это сработало отлично. Сначала я попробовал опцию LINQ, но это вызвало проблемы. Потому что я вызывающий метод не смог обработать System.Xml.Linq.XmlElement. –

-3
XmlDocument Doc = new XmlDocument(); 
Doc.LoadXml(xml); 
+1

Добро пожаловать в переполнение стека! Это дублирует другой ответ и не добавляет нового контента. Пожалуйста, не публикуйте ответ, если у вас нет чего-то нового для участия. – DavidPostill

Смежные вопросы