You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

加载XML报Data at the root level is invalid. Line 1, position 1,是格式问题吗?

该报错大概率由XML格式问题导致,本质是XmlDocument.LoadXml方法接收的字符串不符合XML规范,可按以下步骤排查解决:

排查解决步骤

  • 第一步:清理不可见开头字符
    绝大多数该报错都是由字符串开头的隐藏BOM(字节顺序标记)、零宽空格等字符导致,这些字符不可见但会被XML解析器识别为内容,导致行1位置1不符合XML要求,可先对原始内容做前置清理:
    // 移除UTF-8 BOM头和零宽空格
    soapmessage = soapmessage.TrimStart(new char[] { '\uFEFF', '\u200B' });
    
  • 第二步:校验返回内容类型
    先检查请求响应的Content-Type头是否为text/xml/application/soap+xml,如果接口返回的是JSON、错误网页、纯文本报错等非XML内容,自然无法解析。可直接断点打印soapmessage完整内容确认是否为预期的SOAP XML结构。
  • 第三步:处理转义问题
    如果返回的XML内容被HTML转义过,比如<被转义为&lt;、"被转义为&quot;,需要先做反转义再传入解析:
    soapmessage = System.Web.HttpUtility.HtmlDecode(soapmessage);
    
  • 第四步:直接从字节流加载XML
    字符串解码时的编码不匹配也会导致内容乱码、开头异常,可跳过字符串解码环节,直接从响应的原始字节流加载XML,避免编码问题:
    using (var stream = response.Content.ReadAsStream())
    {
        XmlDocument xml = new XmlDocument();
        xml.Load(stream);
        XmlNamespaceManager manager = new XmlNamespaceManager(xml.NameTable);
        // 后续业务逻辑
    }
    

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:48:03