xmlelement ejemplo c# .net xml

c# - ejemplo - ¿Cómo creo un xmlElement del nodo actual de un xmlReader?



xmldocument c# ejemplo (2)

Suponiendo que tiene XmlDocument, donde necesita adjuntar el XmlElement recién creado:

XmlElement myElement; myXmlReader.Read(); if (myXmlReader.NodeType == XmlNodeType.Element) { myElement = doc.CreateElement(myXmlReader.Name); myElement.InnerXml = myXmlReader.InnerXml; }

De los documentos : No instanciar un XmlElement directamente; en su lugar, use métodos como CreateElement.

Si tengo una instancia xmlreader, ¿cómo puedo usarla para leer su nodo actual y terminar con una instancia xmlElement?


No probado, pero qué tal a través de un XmlDocument :

XmlDocument doc = new XmlDocument(); doc.Load(reader); XmlElement el = doc.DocumentElement;

Alternativamente (desde el minuto), algo como:

doc.LoadXml(reader.ReadOuterXml());

Pero en realidad no soy un fanático de eso ... fuerza un paso adicional de xml-parse (una de las operaciones más costosas de CPU) sin una buena razón. Si el original está siendo impreciso, entonces tal vez considere un sub-lector:

using (XmlReader subReader = reader.ReadSubtree()) { XmlDocument doc = new XmlDocument(); doc.Load(subReader); XmlElement el = doc.DocumentElement; }