Ik moet een XML-string converteren naar een XmlElement

Ik ben op zoek naar de eenvoudigste manier om een ​​string met geldige XML om te zetten in een XmlElement-object in C#.

Hoe kun je dit omzetten in een XmlElement?

<item><name>wrench</name></item>

Antwoord 1, autoriteit 100%

Gebruik dit:

private static XmlElement GetElement(string xml)
{
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xml);
    return doc.DocumentElement;
}

Pas op!!
Als u dit element eerst aan een ander document moet toevoegen, moet u het importeren met ImportNode.


Antwoord 2, autoriteit 25%

Stel dat u al een XmlDocument met onderliggende knooppunten had, en dat u meer onderliggende elementen uit de tekenreeks moet toevoegen.

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

Het resultaat:

<root>
  <item><name>this is earlier manipulation</name>
  <item><name>wrench</name></item>
  <item><name>screwdriver</name>
</root>

Antwoord 3, autoriteit 14%

Gebruik XmlDocument.LoadXml:

XmlDocument doc = new XmlDocument();
doc.LoadXml("<item><name>wrench</name></item>");
XmlElement root = doc.DocumentElement;

(Of als je het over XElement hebt, gebruik XDocument.Parse🙂

XDocument doc = XDocument.Parse("<item><name>wrench</name></item>");
XElement root = doc.Root;

Antwoord 4, autoriteit 2%

U kunt hiervoor XmlDocument.LoadXml() gebruiken.

Hier is een eenvoudig voorbeeld:

XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.LoadXml("YOUR XML STRING"); 

Antwoord 5

Ik heb het met dit fragment geprobeerd, ik heb de oplossing.

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

Als er een andere betere/efficiënte manier is om hetzelfde te implementeren, laat het ons dan weten.

Bedankt & Proost

Other episodes