Si tengo una instancia xmlreader, ¿cómo puedo usarla para leer su nodo actual y terminar con una instancia xmlElement?¿Cómo creo un xmlElement del nodo actual de un xmlReader?
Respuesta
No se ha probado, pero ¿qué tal a través de un XmlDocument
:
XmlDocument doc = new XmlDocument();
doc.Load(reader);
XmlElement el = doc.DocumentElement;
alternativa (desde el cmoment), algo así como:
doc.LoadXml(reader.ReadOuterXml());
Pero en realidad no soy un fan de eso .. . obliga a un paso adicional xml-parse (una de las operaciones más costosas de la CPU) sin una buena razón. Si el original está siendo Glitchy, entonces tal vez considerar una sub-lector:
using (XmlReader subReader = reader.ReadSubtree())
{
XmlDocument doc = new XmlDocument();
doc.Load(subReader);
XmlElement el = doc.DocumentElement;
}
cambie la línea 2 a doc.LoadXml (reader.ReadOuterXml()); entonces yo puedo aceptar Gracias. –
¿Cómo responde esto la pregunta? Esto leerá todo el xml en XmlDocument y devolverá el elemento raíz solamente. –
@Sunny; el elemento raíz contiene todos los demás elementos como descendientes –
Asumiendo que usted tiene XmlDocument, donde tiene que unir el XmlElement recién creado:
XmlElement myElement;
myXmlReader.Read();
if (myXmlReader.NodeType == XmlNodeType.Element)
{
myElement = doc.CreateElement(myXmlReader.Name);
myElement.InnerXml = myXmlReader.InnerXml;
}
Desde el docs: Do no instanciar un XmlElement directamente; en su lugar, use métodos como CreateElement.
- 1. obteniendo la posición actual de un XmlReader
- 2. ¿Cómo obtener el nombre de nodo primario del nodo actual?
- 3. Cómo leer de un XmlReader sin moverlo reenvía
- 4. Obtener un flujo de un XmlReader
- 5. PowerShell: cómo agregar XmlElement a un elemento no raíz
- 6. Verificar la versión actual del nodo
- 7. ¿Cómo creo un directorio dentro del directorio de trabajo actual, en Java
- 8. ¿Cómo creo un nodo a partir de un trabajo cron en drupal?
- 9. ¿Cómo creo un nodo raíz XML en Scala sin un nombre de elemento literal?
- 10. ¿Cómo obtener la profundidad del nodo actual en JTree?
- 11. XPath: ¿cómo se seleccionan los elementos secundarios de un nodo?
- 12. C#: Modificar un nodo XML
- 13. La adición de un prefijo a un nodo XML
- 14. Cassandra: eliminación de un nodo del clúster
- 15. Drupal: ¿Cómo creo programáticamente un alias de URL para un nodo que ya tiene un alias en el nodo de guardar?
- 16. ¿Cómo crear un nodo duplicado desde un nodo en Neo4j?
- 17. cómo verificar el padre del nodo actual es el nodo raíz o no en xslt?
- 18. Creando un XmlNode/XmlElement en C# sin un XmlDocument?
- 19. Profundidad de salida del nodo actual en la jerarquía
- 20. XmlReader - ¿Elemento de cierre automático no desencadena un evento EndElement?
- 21. Cómo construir XMLNodes de XmlReader
- 22. nodo actual vs. nodo de contexto en XSLT/XPath?
- 23. ¿Cómo creo un nuevo nodo HTML jsTree con el plugin CRRM correctamente?
- 24. Eliminar un nodo del centro de un montón
- 25. cómo obtener los valores de un atributo de un elemento usando XMlElement
- 26. XmlReader asincrónico en .NET?
- 27. Cómo creo un crontab a través de un script
- 28. XPath y selección de un solo nodo
- 29. cómo elimino un nodo adicional
- 30. ¿Cómo creo un UIViewController programáticamente?
¿De verdad quieres XmlElement, y no XElement? –