我正在解析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嘗試,並不能找到任何東西。
順便說一句,除非你仍然使用.NET 1.1,你應該使用'XmlReader.Create()'而不是'new XmlTextReader()'。 – 2010-02-17 16:42:13
它不允許特殊字符。 – 2015-09-21 14:32:36