Je voulais convertir une chaîne (qui est évidemment un xml) en un XmlNode en C # .Pendant la recherche sur le net, j'ai ce code.Je voudrais savoir si c'est un bon moyen de convertir une chaîne en XmlNode? Je dois effectuer cette conversion dans une boucle. Cela pose-t-il des problèmes de performance?
XmlTextReader textReader = new XmlTextReader(new StringReader(xmlContent));
XmlDocument myXmlDocument = new XmlDocument();
XmlNode newNode = myXmlDocument.ReadNode(textReader);
Répondez, s'il vous plaît,
Merci
Alex
devrait être simple:
string xmlContent = "<foo></foo>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlContent);
XmlNode newNode = doc.DocumentElement;
ou avec LINQ si c'est une option:
XElement newNode = XDocument.Parse(xmlContent).Root;
La réponse acceptée ne fonctionne que pour un seul élément. XmlNode peut avoir plusieurs éléments tels que string xmlContent = "<foo></foo><bar></bar>";
(Exception: "Il existe plusieurs éléments racines");
Pour charger plusieurs éléments, utilisez ceci:
string xmlContent = "<foo></foo><bar></bar>";
XmlDocument doc = new XmlDocument();
doc.LoadXml("<singleroot>"+xmlContent+"</singleroot>");
XmlNode newNode = SelectSingleNode("/singleroot");