Système.XML.XmlException: 'est un jeton inattendu. Le jeton attendu est";"
J'ai un formulaire HTML que je suis en train de charger à l'aide d'XDocument.Charge, et je reçois le message d'erreur suivant:
' ' is an unexpected token. The expected token is ';'. Line 1257, position 66.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
Le code est simplement la suivante:
XDocument xmlDoc = XDocument.Load(pageData.Stream);
pageData est un objet personnalisé à partir d'un autre système, c'est-à cracher un datastream. Je l'ai eu à l'exportation xml retour à une chaîne, et il semble bien.
Quand je vérifie que la ligne sur le code HTML, c'est juste une balise de fermeture d'un élément. Quelle est la fiabilité de la ligne/position donnée par le xml exception? Je suis tout simplement la source de la forme dans notepad++ pour la validation, et je ne vois pas que ce serait un problème.
EDIT:
Voici les premières lignes avant et après l'erreur. J'ai marqué la ligne d'erreur.
</p>
</td>
</tr>
</table>
</td>
</tr> <----Error Line
<tr>
<td>
<div id="BusinessJustificationForm">
<table id="BusinessJustificationTable">
<tr>
<td class="seperator" colspan="7">
On dirait que vous avez donné de l'espace
J'ai posté 3 lignes au-dessus et au-dessous de la ligne qui incite l'erreur et a marqué la ligne d'erreur ci-dessus..
Avez-vous des entités html?
à l'aide de divisions en td n'est pas une bonne idée...
OriginalL'auteur Stephen Wigginton | 2013-07-29
Vous devez vous connecter pour publier un commentaire.
Le problème que j'ai eu s'est avéré être une esperluette
&
dans une URL où un point-virgule;
n'a pas suivi.Par exemple:
Heureusement, l'URL n'a pas besoin d'avoir de l'esperluette peu dans mon code HTML, donc je l'ai retiré complètement. Je suppose que le codage d'URL pourrait l'aider, de le remplacer à
&
si c'était nécessaire.OriginalL'auteur Nicola
Ce problème a été causé par un attribut "Name" avoir un nom contenant des espaces. Une fois que je suis allé à travers le tout et résolu, j'ai été en mesure de charger le code HTML d'un document XML.
OriginalL'auteur Stephen Wigginton
HTML est différent de XML. XML est beaucoup plus strict des règles de HTML. Probablement votre code HTML n'est pas XML bien formé. À moins que vous pouvez vous assurer que votre code HTML est compatible XHTML, vous ne pouvez pas analyser HTML avec un analyseur XML. Utilisation HTML Agility Pack à la place.
OriginalL'auteur fcuesta
Vous pouvez vérifier votre document dans le validateur du w3c http://validator.w3.org/
OriginalL'auteur Fried
Autre chose à regarder,
Le XML ne permet pas les attributs HTML sans valeur.
par exemple;
ne peut pas être chargé en tant que document XML et génère une erreur:
Donc préférable d'utiliser:
OriginalL'auteur Kumar Shishir
L'erreur est essentiellement descriptives que votre attribut ayant un nom contenant des espaces et il n'est pas permis que par XMLparser. Vous avez besoin de l'enlever pour répondre à des normes xml. vous devez utiliser le format HTML agility pack [http://htmlagilitypack.codeplex.com/ ] à la place.
OriginalL'auteur koolprasad2003