Ste*_*ton 7 c# xml exception linq-to-xml
我有一个HTML表单,我试图使用XDocument.Load加载,我收到以下错误:
' ' is an unexpected token. The expected token is ';'. Line 1257, position 66.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
Run Code Online (Sandbox Code Playgroud)
代码只是调用以下内容:
XDocument xmlDoc = XDocument.Load(pageData.Stream);
Run Code Online (Sandbox Code Playgroud)
pageData是来自另一个系统的自定义对象,即吐出数据流.我已经将xml导出回一个字符串,看起来很好.
当我在HTML上检查该行时,它只是元素的结束标记.xml异常给出的行/位置有多可靠?我只是将表单的来源转储到notepad ++中进行验证,我看不出它会成为一个问题.
编辑:以下是错误前后的前几行.我已经标记了错误行.
</p>
</td>
</tr>
</table>
</td>
</tr> <----Error Line
<tr>
<td>
<div id="BusinessJustificationForm">
<table id="BusinessJustificationTable">
<tr>
<td class="seperator" colspan="7">
Run Code Online (Sandbox Code Playgroud)
Nic*_*ola 13
我曾经证明这个问题&在一个URL中是一个&符号,其中一个分号;没有跟随它.
例如:
<a href="http://www.something.com?id=123&name=456"></a>
Run Code Online (Sandbox Code Playgroud)
幸运的是,URL不需要在我的HTML代码中包含&符号,所以我完全删除了它.我猜URL编码会有所帮助,&如果需要则替换它.
HTML与XML不同.XML比HTML有更严格的规则.可能你的HTML不是格式良好的XML.除非您可以确保HTML符合XHTML,否则无法使用XML解析器解析HTML.请改用HTML Agility Pack.