我需要将XMLstring转换为XmlElement
我正在寻找最简单的方法将包含有效XML的string转换为C#中的XmlElement
对象。
你怎么能把它变成一个XmlElement
?
<item><name>wrench</name></item>
用这个:
private static XmlElement GetElement(string xml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); return doc.DocumentElement; }
谨防!! 如果您需要首先将此元素添加到其他文档,则需要使用ImportNode
导入它。
假设你已经有了一个带有子节点的XmlDocument,并且你需要从string中添加更多的子元素。
XmlDocument xmlDoc = new XmlDocument(); // Add some child nodes manipulation in earlier // .. // Add more child nodes to existing XmlDocument from xml string string strXml = @"<item><name>wrench</name></item> <item><name>screwdriver</name></item>"; XmlDocumentFragment xmlDocFragment = xmlDoc.CreateDocumentFragment(); xmlDocFragment.InnerXml = strXml; xmlDoc.SelectSingleNode("root").AppendChild(xmlDocFragment);
结果:
<root> <item><name>this is earlier manipulation</name> <item><name>wrench</name></item> <item><name>screwdriver</name> </root>
使用XmlDocument.LoadXml :
XmlDocument doc = new XmlDocument(); doc.LoadXml("<item><name>wrench</name></item>"); XmlElement root = doc.DocumentElement;
(或者如果你在谈论XElement,请使用XDocument.Parse 🙂
XDocument doc = XDocument.Parse("<item><name>wrench</name></item>"); XElement root = doc.Root;
您可以使用XmlDocument.LoadXml()来执行此操作。
这是一个简单的例子:
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml("YOUR XML STRING");
我试着用这个片段,得到的解决scheme。
// Sample string in the XML format String s = "<Result> No Records found !<Result/>"; // Create the instance of XmlDocument XmlDocument doc = new XmlDocument(); // Loads the XML from the string doc.LoadXml(s); // Returns the XMLElement of the loaded XML String XmlElement xe = doc.DocumentElement; // Print the xe Console.out.println("Result :" + xe);
如果还有其他更好的/有效的方式来实施,请告诉我们。
感谢和欢呼