Tengo un formulario HTML que estoy tratando de cargar con XDocument.De carga, y estoy recibiendo el siguiente error:

' ' is an unexpected token. The expected token is ';'. Line 1257, position 66.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)

El código es simplemente llamando a los siguientes:

XDocument xmlDoc = XDocument.Load(pageData.Stream);

pageData es un objeto personalizado a partir de otro sistema, que es escupir un flujo de datos. He tenido que exportar el xml a una cadena, y se ve bien.

Cuando puedo comprobar que la línea en el HTML, es sólo una etiqueta de cierre para un elemento. ¿Es fiable la línea/posición dada por el xml excepción? Apenas estoy descargando la fuente de la forma en notepad++ para la validación, y no puedo ver lo que sería un problema.

EDITAR:
El siguiente es el primer par de líneas antes y después del error. He marcado la línea de error.

                                        </p>
                        </td>
                    </tr>
                </table>

            </td>
        </tr>  <----Error Line
        <tr>
            <td>
                <div id="BusinessJustificationForm">
                    <table id="BusinessJustificationTable">
                        <tr>
                            <td class="seperator" colspan="7">
a partir de la experiencia de sus bastante precisa, posiblemente una línea o dos antes de/después de
Parece que le han dado un poco de espacio
He publicado 3 líneas por encima y por debajo de la línea que está provocando el error y marcó la línea de error anterior..
¿Tienen las entidades html?
el uso de divs en el td no es una buena idea…

OriginalEl autor Stephen Wigginton | 2013-07-29

6 Comentarios

  1. 10

    El problema que me había resultado ser un signo de y comercial & en una URL donde un semi-colon ; no la seguían.

    Por ejemplo:

    <a href="http://www.something.com?id=123&name=456"></a>

    Afortunadamente la URL no necesita tener el signo poco en mi código HTML así que me quita por completo. Supongo que la codificación URL, sería de ayuda, reemplazando a &amp; si era necesario.

    OriginalEl autor Nicola

  2. 8

    Este problema fue causado por un «Nombre» atributo con un nombre que contenga espacios. Una vez fui a través de todo el asunto y resolvió que, yo era capaz de cargar el HTML como un documento XML.

    OriginalEl autor Stephen Wigginton

  3. 6

    HTML es diferente de XML. XML tiene mucho más estrictas normas de HTML. Probablemente su HTML no es XML bien formado. A menos que usted puede asegurarse de que el código HTML es compatible con XHTML, no se puede analizar el HTML con un analizador de XML. Uso HTML Agilidad Pack lugar.

    OriginalEl autor fcuesta

  4. 0

    Otra cosa a tener en cuenta,
    XML no permite que los atributos HTML de su valor.

    por ejemplo;

    <input required name="Entity" />

    no se puede cargar como documento XML y se producirá un error como:

    ‘nombre’ es un testigo inesperado. La espera token ‘=’.

    Por lo tanto mejor para usar:

    <input required="required" name="Entity" />

    OriginalEl autor Kumar Shishir

  5. -1

    El error es principalmente descriptivo que su atributo con un nombre que contenga espacios y no está permitido, como por XMLparser. Usted tiene que quitar para cumplir con los estándares xml. usted debe usar el código HTML agilidad pack [ http://htmlagilitypack.codeplex.com/ ].

    -1: Esto es sólo la repetición de (casi un año más tarde) lo que el OP y una de las otras respuestas ya se dijo.

    OriginalEl autor koolprasad2003

Dejar respuesta

Please enter your comment!
Please enter your name here