【发布时间】:2022-01-01 11:20:32
【问题描述】:
我正在尝试在 C# 中解码自定义 xml 配置文件,但我无法从解码步骤后获得的字符串创建此文件。
在尝试构建 xml 后,我得到了这个错误:
System.Xml.XmlException:“名称不能以“0”字符开头,十六进制值 0x30。第 1 行,位置 2。'
我知道我的 xml 不是有效的 xml 文件,因为它的格式不正确,但我想知道是否有办法构建它。
“xml文件”的格式:
<01_config.xml>
<name dataType="String">some_name</name>
<description dataType="String">some_description</description>
</01_config.xml>
如果我在调试期间将01_config.xml 替换为config,一切都会正常工作,因为它将成为一个有效的xml 文件。但这不是我配置的好格式。
我想我仍然可以在不使用 C# Xml 构建工具的情况下构建文件,但我想知道是否可以首先使用它。
【问题讨论】:
-
能分享一下引发异常的代码吗?
-
XmlDocument xDoc = new XmlDocument(); xDoc.LoadXml(xml_string);xml_string 是解码后的 xml 内容的字符串 -
您可以考虑将该文件名放在一个属性中并执行以下操作:
<file name="01_config.xml"> -
我需要保持原来的格式。这就是整个问题。一种方法是创建一个真正的 xml 文件,然后对其进行编辑。但这有点难看,我想知道是否有更清晰的方法来做到这一点。
-
不,整个问题是您拒绝接受多方试图向您解释的内容:您的问题基于一个根本缺陷:您没有 XML,但您想使用 XML工具/技术。 (1) 将您的数据修复为 XML,或者 (2) 放弃 XML 工具/技术并为您的自定义语言编写自定义解析器/处理库。你不能两全其美。你标记了你的问题
xml和xml-parsing。如果您选择#2,请删除这些并发布文本级 C# 代码尝试;如果您拒绝 #1,它们将不适用。
标签: c# xml xml-parsing