我正在用 C# 解析一些 XML。我从数据库中获取它,因此在使用 XmlTextReader 读取它之前将其转换为 MemoryStream。问题是我收到了这个错误:Name cannot begin with the ' ' character, hexadecimal value 0x20. Line 1, position 3.
以下是我的 XML 和我的读取它的代码(它是从数据库中出来的,没有空白的第一个字符)。有什么建议么?
XML:
<? xml version="1.0" encoding="utf-8" ?>
<form>
<e order="0" type="custom" name="test">
<fi type="text" />
<o />
</e>
<e order="1" type="zip" />
<e order="2" type="state" />
</form>
C#:
byte[] byteArray = new byte[formXml.Length];
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byteArray = encoding.GetBytes(formXml);
MemoryStream xmlStream = new MemoryStream(byteArray);
XmlTextReader xmlReader = new XmlTextReader(xmlStream);
while (xmlReader.Read())
{
if (xmlReader.HasValue)
{
returnString += xmlReader.Depth.ToString();
}
}
我认为这可能是编码,但我已经尝试过 UTF8 和 ASCII 并且找不到任何东西。