我有这样的XML字符串bn
:错误解析XML字符串的XDocument
<Root><Row><ITEMNO>1</ITEMNO><USED>y</USED><PARTSOURCE>Buy</PARTSOURCE><QTY>2</QTY></Row><Row><ITEMNO>5</ITEMNO><PARTSOURCE>Buy</PARTSOURCE><QTY>5</QTY></Row></Root>
我试图将其转换为XDocument
这样的:
var doc = XDocument.Parse(bn);
不过,我得到这个错误:
Data at the root level is invalid. Line 1, position 1.
我错过了什么吗?
UPDATE:
这是我用它来创建XML字符串的方法:
public static string SerializeObjectToXml(Root rt)
{
var memoryStream = new MemoryStream();
var xmlSerializer = new XmlSerializer(typeof(Root));
var xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
xmlSerializer.Serialize(xmlTextWriter, rt);
memoryStream = (MemoryStream)xmlTextWriter.BaseStream;
string xmlString = ByteArrayToStringUtf8(memoryStream.ToArray());
xmlTextWriter.Close();
memoryStream.Close();
memoryStream.Dispose();
return xmlString;
}
它添加到我不得不删除开始。我能从一开始就改变一些东西来改正它吗?
如果我可以告诉它在那里,我如何从字符串中消除它? – davids
@davids使用'.Replace(((char)0xFEFF),'\ 0');'。 –
我一直希望没有它,但是我不知道为什么这个方法会添加它。我可以按照你的建议去除它。 – davids