C# quickbooks xml错误Src Text:&书信电报;?xml版本=";1.0“;编码=";utf-8“&燃气轮机;

C# quickbooks xml错误Src Text:&书信电报;?xml版本=";1.0“;编码=";utf-8“&燃气轮机;,c#,xml,encoding,utf-8,quickbooks,C#,Xml,Encoding,Utf 8,Quickbooks,在尝试对quickbooks执行xml请求时,我遇到了某种xml错误。我使用C#中的XDocument创建了xml,我想知道它是否编码错误 错误消息: 行:1行位置:1 Src文本:ï» 原因:在文档的顶层无效 这是xml文件的开头 <?xml version="1.0" encoding="utf-8"?> <?qbxml version="13.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError">

在尝试对quickbooks执行xml请求时,我遇到了某种xml错误。我使用C#中的
XDocument
创建了xml,我想知道它是否编码错误

错误消息:

行:1行位置:1 Src文本:ï» 原因:在文档的顶层无效

这是xml文件的开头

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
  <QBXMLMsgsRq onError="stopOnError">

我通常会像下面的代码一样开始一个文档。它解决了名称空间的许多问题,非常简单:

            string header = "<?xml version=\"1.0\" encoding=\"utf-8\"?><?qbxml version=\"13.0\"?><QBXML></QBXML>";

            XDocument doc = XDocument.Parse(header);
            XElement qbxml = doc.Root;
字符串头=”;
XDocument doc=XDocument.Parse(标题);
XElement qbxml=doc.Root;

那肯定是一个错误。它不是
XmlDocument
的一部分,而是在写入
流时由
StreamWriter
发出的。您没有显示这样做的代码,但是要禁用BOM,请参见或。感谢dbc,禁用BOM修复了我的问题。如果可以的话,我会对你的评论投赞成票。“尝试对quickbooks执行xml请求”这是应该剥离的部分;这不是文件的一部分。
            string header = "<?xml version=\"1.0\" encoding=\"utf-8\"?><?qbxml version=\"13.0\"?><QBXML></QBXML>";

            XDocument doc = XDocument.Parse(header);
            XElement qbxml = doc.Root;