terça-feira, 19 de outubro de 2010

Conversão de objetos de manipulação de XML

Com o passar dos dias a necessidade de manipular arquivos XML só vem crescendo e com isso nos deparamos com os padrões de objeto LINQ to XML ou DOM e a necessidade de conversão entre eles. Abaixo vou listar alguns tipos de conversões que podem ser úteis no dia a dia.

Converter XElement para XMLNode / Convert XElement to XMLNode
public XmlNode ConverteToXmlNode(XElement xeElement)
{
using (XmlReader xmlReader = xeElement.CreateReader())
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlReader);
return xmlDoc;
}
}

Converter XDocument para XMLNode / Convert XDocument to XMLNode
public XmlNode ConverteToXmlNode(XDocument xeDocument)
{
using (XmlReader xmlReader = xeDocument.CreateReader())
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlReader);
return xmlDoc;
}
}

Converter XMLDocument para XDocument / Convert XMLDocument to XDocument
XDocument xdRetornoSefaz = XDocument.Parse(varXmlDocument.OuterXml);

Converter XMLNode para XMLDocument / Convert XMLNode to XMLDocument
XmlDocument varXmlDocument = new XmlDocument();
varXmlDocument.LoadXml(varXmlNode.OuterXml);