我正在使用此代码读取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属性中,其原因是该链接包含&
并将其替换为&
将解决此问题,但是如果我这样做,则该链接将不正确,如何解决此问题有问题吗?
谢谢。
答案 0 :(得分:2)
目前看来,这是无效的XML。您将需要将&
编码为&
。从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/
希望有帮助