/ / XDocument to XElement - c #, xml, linq-to-xml, xelement

XDocument to XElement - c #, xml, linq-to-xml, xelement

Jak przekonwertować XDocument na XElement?

Znalazłem następujące, szukając, ale jest to do konwersji między XDocument i XmlDocument, a nie XDocument i XElement.

public static XElement ToXElement(this XmlElement xmlelement)
{
return XElement.Load(xmlelement.CreateNavigator().ReadSubtree());
}

public static XmlDocument ToXmlDocument(this XDocument xdoc)
{
var xmldoc = new XmlDocument();
xmldoc.Load(xdoc.CreateReader());
return xmldoc;
}

Nie mogłem znaleźć niczego, aby przekonwertować XDocument na XElement. Każda pomoc byłaby doceniana.

Odpowiedzi:

26 dla odpowiedzi nr 1

XDocument to XmlDocument:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xdoc.CreateReader());

XmlDocument to XDocument

XDocument xDoc = XDocument.Load(new XmlNodeReader(xmlDoc));

Aby pobrać element główny z XDocument, którego używasz xDoc.Root


26 dla odpowiedzi nr 2

Inni ludzie to powiedzieli, ale tutaj jest wyraźnie próbka do przekonwertowania XDocument na XElement:

 XDocument doc = XDocument.Load(...);
return doc.Root;

6 dla odpowiedzi nr 3

Prosta konwersja z XDocument do XElement

XElement cvtXDocumentToXElement(XDocument xDoc)
{
XElement xmlOut = XElement.Parse(xDoc.ToString());
return xmlOut;
}