¿Cuál es la forma más eficaz de comprobar un XmlDocument para un nodo XmlDeclaration?Cómo comprobar XmlDeclaration en XmlDocument C#
Respuesta
¿Qué tipo de "eficiencia" está buscando? ¿Eficiencia de expresión o eficiencia en el tiempo de ejecución? Aquí hay una consulta LINQ que encuentra la declaración bastante rápidamente:
XmlDeclaration declaration = doc.ChildNodes
.OfType<XmlDeclaration>()
.FirstOrDefault();
Sospecho que será lo suficientemente eficiente. Es posible que pueda probar si el primer nodo hijo era XmlDeclaration
... No pensar cualquier cosa puede venir antes.
Si hay alguna posibilidad de usar LINQ to XML en su lugar, entonces se vuelve aún más fácil - solo usa la propiedad XDocument.Declaration
.
Para comprobar que tiene uno:
bool hasDec = doc.FirstChild.NodeType == XmlNodeType.XmlDeclaration;
Para obtenerlo si tiene uno:
XmlDeclaration dec = doc.FirstChild as XmlDeclaration;
Recuerde que no hay contenido permitió antes de la declaración XML (salvo una lista de materiales, los cuales no se considera contenido, sino un artefacto de codificación en la transmisión, por lo que no tendrá un nodo correspondiente).
- 1. ¿Cómo agrego una XmlDeclaration personalizada con XmlDocument/XmlDeclaration?
- 2. ¿Cómo deserializar XMLDocument para objetar en C#?
- 3. XMLDocument -> Byte [] ... ¿cómo volver a XMLDocument?
- 4. C# XmlDocument SelectNodes
- 5. Al guardar un XmlDocument, no tiene en cuenta la codificación en el XmlDeclaration (UTF-8) y utiliza UTF16
- 6. inserción XmlDocument en un nodo XmlDocument
- 7. Cómo cargar XML desde URL en XmlDocument()
- 8. En XML, ¿cómo se llaman los nodos con signos de interrogación y cómo los agrego en C#?
- 9. Convierte el objeto XmlDocument en un objeto XmlNode - C#?
- 10. agregue un elemento raíz usando xmldocument en C# .net
- 11. ¿Cómo crear un documento XML utilizando XmlDocument?
- 12. Creando un XmlNode/XmlElement en C# sin un XmlDocument?
- 13. Cómo agregar XMLNamespace a un XmlDocument
- 14. XmlDocument - cargar desde cadena?
- 15. Convertir XmlDocument para cuerdas
- 16. Lea el archivo XML en XmlDocument
- 17. C# Comprobar URL existen?
- 18. La clase XmlDocument está eliminando el formato, C#, .NET
- 19. Rendimiento: XDocument versus XmlDocument
- 20. XmlDocument Guardar mantiene presentar abierta
- 21. Usando xmlDocument añadir nodo
- 22. XDocument o XmlDocument
- 23. cómo guardar XmlDocument para una corriente
- 24. C# Comprobar servidor remoto
- 25. C#: información de línea al analizar XML con XmlDocument
- 26. ¿Cómo comprobar syslog en bash?
- 27. Leer el atributo XML usando XmlDocument
- 28. Cómo agregar atributos a xml usando XmlDocument en C# .net CF 3.5
- 29. Cómo modificar el archivo XML existente con XmlDocument y XmlNode en C#
- 30. ¿Cómo crear un XmlDocument usando XmlWriter en .NET?
lo está recordando bien, la declaración no puede tener nada, incluido el espacio en blanco, anterior, lo que permite una mayor eficiencia tanto en la expresión como en la ejecución. –