C# 在C中将字符串转换为XmlNode的更好方法#

C# 在C中将字符串转换为XmlNode的更好方法#,c#,xml,C#,Xml,我想在C#中将字符串(显然是xml)转换为XmlNode。在搜索网络时,我得到了这段代码。我想知道这是否是将字符串转换为XmlNode的好方法?我必须在一个循环中执行此转换,因此它是否会导致任何性能问题 XmlTextReader textReader = new XmlTextReader(new StringReader(xmlContent)); XmlDocument myXmlDocument = new XmlDocument(); X


我想在C#中将字符串(显然是xml)转换为XmlNode。在搜索网络时,我得到了这段代码。我想知道这是否是将字符串转换为XmlNode的好方法?我必须在一个循环中执行此转换,因此它是否会导致任何性能问题

        XmlTextReader textReader = new XmlTextReader(new StringReader(xmlContent));
        XmlDocument myXmlDocument = new XmlDocument();
        XmlNode newNode = myXmlDocument.ReadNode(textReader);
请答复:

谢谢

Alex应该直截了当地说:

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

接受的答案仅适用于单个元素。XmlNode可以有多个元素,如
string xmlContent=“”(例外:“有多个根元素”)

要加载多个图元,请使用以下命令:

string xmlContent=”“;
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“+xmlContent+”);
XmlNode newNode=SelectSingleNode(“/singleroot”);

我在尝试此操作时遇到此错误:
要插入的节点来自不同的文档上下文。
请查看此操作是否工作正常。我首先尝试了LINQ选项,但这会导致问题。因为我知道调用方法无法处理System.Xml.Linq.XmlElement。您能看看我的一个欢迎使用堆栈溢出的方法吗!这重复了另一个答案,没有添加新内容。请不要发布答案,除非你真的有什么新的贡献。
        XElement newNode  = XDocument.Parse(xmlContent).Root;
XmlDocument Doc = new XmlDocument();
Doc.LoadXml(xml);