我有一个用UTF-8编码的XSD文件,我运行它的任何文本编辑器都没有在文件开头显示任何字符,但是当我在Visual Studio的调试器中提取它时,我清楚地看到一个空的文件前面的框.

我也得到错误:
根级别的数据无效.第1行,第1位.

有谁知道这是什么吗?
更新:编辑帖子以限定文件类型.这是由Microsoft的XSD创建者创建的XSD文件.
我想在一个简短的C#应用程序中使用一个公共Web服务:http: //ws.parlament.ch/
从此Web服务返回的XML在开头有一个"BOM",这会导致RESTSharp无法通过以下错误消息对XML进行反序列化:
检索响应时出错.查看内部细节以获取更多信息.---> System.Xml.XmlException:根级别的数据无效.第1行, 位于System.Xml.XmlTextReaderImpl.Throw(Exception e)
的System.Xml.XmlTextReaderImpl.Throw(String res,String arg),位于System.Xml.XmlTextReaderImpl的System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()处. System.Xml.Linq.XDocument.Parse上的System.Xml.Linq.XDocument.Load(XmlReader reader,LoadOptions选项)中的System.Xml.XmlTextReaderImpl.Read()处的ParseDocumentContent()(String text,LoadOptions options)
在RestSharp.RestClient.Deserialize [T](IRestRequest请求,IRestResponse raw)的RestSharp.Deserializers.XmlDeserializer.Deserialize [T](IRestResponse响应)的System.Xml.Linq.XDocument.Parse(String text)
---结束内部异常堆栈跟踪---
以下是使用http://ws.parlament.ch/sessions?format=xml获取" 会话 " 列表的简单示例:
public class Session
{
public int Id { get; set; }
public DateTime? Updated { get; set; }
public int? Code { get; set; }
public DateTime? From { get; set; }
public string Name { get; set; }
public DateTime? To { get; set; }
}
static void Main(string[] args) …Run Code Online (Sandbox Code Playgroud) 好吧,我有一个字节数组,我知道它在字节数组中的xml serized对象是否有任何方法可以从中获取编码?
我不打算去除它但是我将它保存在sql server上的xml字段中......所以我需要将它转换为字符串?
我已经使用 XSD.exe 工具创建了一个代表 XSD 的 C# 类。我使用验证代码来检查 XML 与 XSD 的一致性。我得到了这个工作,但使用另一个 XML 文件会导致异常。
XML 文件是由外部程序生成的,我无权访问原始代码或已发布的 XSD。
在反序列化期间读取 XML 时,出现异常:
enter System.InvalidOperationException was unhandled
Run Code Online (Sandbox Code Playgroud)
HResult=-2146233079 Message=Het XML 文档 (235, 17) 包含错误。
该错误被描述为尝试将字符串转换为日期时间格式(这不可能是正确的描述)。
我认为 (235,17) 可能代表文档中的位置,但这与调用堆栈不一致。
我的问题:你能帮我针对此类问题制定一个好的调试策略吗?我想确切地知道异常发生在 XML 中的哪一行,但不知道如何执行此操作。