Xml-'='是意外令牌,预期令牌为';'

时间:2018-06-20 18:54:32

标签: c# xml

我正在使用此代码读取xml文件

string xmlcontents = System.IO.File.ReadAllText("the xml path");
xml.LoadXml(xmlcontents);

当我执行这段代码时,它给了我这个错误

  

System.Xml.XmlException:“ =”是意外令牌。预期的令牌为“;”

这是带有错误的xml行

<SubMenu name="Assassins Creed Origins" picture="https://image.ibb.co/gqeqpd/image.jpg" Torrent="http://rarbg.to/download.php?id=hzvlmyb&f=The.Endless.2017.1080p.BluRay.H264.AAC-RARBG-[rarbg.to].torrent" />

该错误位于Torrent属性中,其原因是该链接包含&并将其替换为&amp;将解决此问题,但是如果我这样做,则该链接将不正确,如何解决此问题有问题吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

目前看来,这是无效的XML。您将需要将&编码为&amp;。从XML文档中读取时,它就是&

答案 1 :(得分:0)

XML的语法规则很严格,要使其有效,您需要使用&amp 而不是

要使用XML,可以转义和解码特殊字符。 以下是一些示例,以了解编码的工作原理: http://weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape-an-XML-string-in-C.aspx

基于此,您可以撤消此过程。

还可以使用XML来验证XML:https://validator.w3.org/

希望有帮助