Xml - '=' 是一个意外的标记,期望的标记是 ';'。

5
我正在使用这段代码来读取一个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
正如你所说:“链接会不正确”。我认为你也应该说明什么时候以及如何使用“Torrent”属性的内容,因为它看起来是一个潜在的XY问题 - JayV
1
当存储到 XML 时,您需要对 Torrent 的值进行编码/解码。在从 XML 读取时解码,在存储到 XML 时编码。 - Roman Marusyk
您所拥有的XML内容无效。请问您是从哪里获取这个XML内容或者是如何生成它的?请在您的问题中添加源代码和任何相关信息。 - Progman
你试过用%38替换URL中的&符号吗? - Kevin
你的 XML 中有一个特殊字符。请参考维基百科:https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references - jdweng
你从哪里得到这个XML文件的?是自己创建的吗?请展示一下。 - Alexander Petrov
2个回答

7

目前状态下,这是无效的XML。你需要将&编码为&amp;。当你从XML文档中读取它时,它将变成&


我已经尝试过了,当我获取属性值时,它会得到&amp;而不是& - kurdish gaming

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接