System.Xml.XmlException: '=' is an unexpected token. The expected token is ';'

前端之家收集整理的这篇文章主要介绍了System.Xml.XmlException: '=' is an unexpected token. The expected token is ';'前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天碰到的一个问题,把string 解析成xml时,抛出异常,如下:

问题:

An exception of type'System.Xml.XmlException' occurred and was caught.

Type : System.Xml.XmlException,System.Xml,Version=4.0.0.0,Culture=neutral,PublicKeyToken=

Message : '=' is an unexpected token. The expected token is ';'. Line X,position XXX.

或者

Message : The 'SPAN' start tag on line 1position 137 does not match the end tag of 'P'. Line X,position XXX.

Source : System.Xml

Help link :

LineNumber : X

LinePosition : XXX

SourceUri :

Data :System.Collections.ListDictionaryInternal

TargetSite : Void Throw(System.String,System.String[]) HResult : -2146232000

Stack Trace : atSystem.Xml.XmlTextReaderImpl.Throw(String res,String[] args)

at System.Xml.XmlTextReaderImpl.HandleEntityReference(BooleanisInAttributeValue,EntityExpandType expandType,Int32& charRefEndPos)

at System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32 curPos,Char quoteChar,NodeData attr)

at System.Xml.XmlTextReaderImpl.ParseAttributes()

at System.Xml.XmlTextReaderImpl.ParseElement()

at System.Xml.XmlTextReaderImpl.ParseElementContent()

at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)

at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r,LoadOptionso)

at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r,LoadOptions o)

at System.Xml.Linq.XElement.Load(XmlReader reader,LoadOptions options)

at System.Xml.Linq.XElement.Parse(String text,LoadOptions options)


字符串是

<P><B>title</B></P>

<P> text 1 </P>

<P><B>description:</B></P>

<P>1. Provide<A href="http://dfafa&daffa&fasdf=1">rr</A></P>

<P>2. Reference <A href="http://dfafa&daffa&fasdf=1">ee</A>Guideline </P>

<P>3. Discuss</P>

<P>4. Schedulet </P>


原因是

A 标签在解析过程有问题,说是因为&符号。

或者 HTML 标签不匹配, 即:开始和结束标签不匹配。



解决方法

1.针对特殊字符,例如:&, 需要转义

2.对于标签不匹配,例如: <span> 没有结束标签,需要手动修改

可以使用工具XML Notepad,来确定出错位置,很方便。


如果在开发过程中,需要使用文本编辑器。

推荐一个工具:TinyMCE.

这个工具可以自动修复不正确的标签。出错率低。

猜你在找的XML相关文章