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);