在C#应用程序中加载XML文件时,我遇到了以下错误:
名称不能以字符“1”开头,十六进制值为 0x31。 第2行,第2个位置。
XML标签如下所示。
<version="1.0" encoding="us-ascii" standalone="yes" />
<1212041205115912>
我绝不可以以任何代价更改此标签。
我该如何解决这个问题?
在C#应用程序中加载XML文件时,我遇到了以下错误:
名称不能以字符“1”开头,十六进制值为 0x31。 第2行,第2个位置。
XML标签如下所示。
<version="1.0" encoding="us-ascii" standalone="yes" />
<1212041205115912>
我绝不可以以任何代价更改此标签。
我该如何解决这个问题?
由于您编写的标签名称违反了XML标准,因此您应该更改标签名称。
XML 元素 必须遵循以下命名规则:
任何名称都可以使用,没有保留任何单词。
作为解决问题并保持标准的建议:
Number value="1212041205115912"/>
<_1212041205115912/>
当然,您可以通过编写自己的格式解析器来维护您提出的结构,但我可以说这是一个非常糟糕的想法,因为将来可能会有人扩展该格式,并且不会高兴看到似乎是XML文件实际上不是,他/她可能会因此生气。此外,如果您想要自定义格式,请使用更简单的东西,我的意思是:如果它不是官方认可的格式,则在文本文件中混合一些“<”和“>”并不会增加任何价值,最好使用类似于简单纯文本文件的东西。
如果你绝对不能改变它,例如因为该格式已经在其他系统/客户/等中使用或发布。
由于这是一个无效的XML文档,在解析之前尝试清理它。例如,制作一个正则表达式,将所有< number>标签替换为< IMessedUp>number</IMessedUp>,然后解析它。
这种方法有些靠不住,但可以解决你的问题。
<
、>
和"
)来给它们着色。 - Robert Rouhani