Estoy tratando de leer la siguiente cadena, capturada de un log4net UdpAppender.Análisis XDocument o XElement del elemento XML que contiene los espacios de nombres
<log4net:event logger="TestingTransmitter.Program"
timestamp="2009-08-02T17:50:18.928+01:00"
level="ERROR"
thread="9"
domain="TestingTransmitter.vshost.exe"
username="domain\user">
<log4net:message>Log entry 103</log4net:message>
<log4net:properties>
<log4net:data name="log4net:HostName" value="machine" />
</log4net:properties>
</log4net:event>
Al intentar XElement.Parse o XDocument.Parse el contenido, se produce una excepción:
'log4net' es un espacio de nombres no declarado. Línea 1, posición 2.
Sé que puedo buscar y reemplazar "log4net:" en la cadena original y eliminarlo, lo que me permite analizar el código XML con éxito, pero hay una manera mejor? Estos son los datos completos capturado (reordenada para permitir la lectura), no hay declaraciones de espacios de nombres XML o desconectar ..
-1 para usar 'new XmlTextReader()', en desuso desde .NET 2.0. –
@JohnSaunders, ¿dónde viste esto? No parece obsoleto: http://msdn.microsoft.com/en-us/library/system.xml.xmltextreader(v=vs.110).aspx – georgiosd
FYI, no debe usar 'new XmlTextReader()' o 'nuevo XmlTextWriter()'. Han sido desaprobados desde .NET 2.0. Use 'XmlReader.Create()' o 'XmlWriter.Create()' en su lugar. –