相关疑难解决方法(0)

XML - 根级别的数据无效

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

框中的文件

我也得到错误:

根级别的数据无效.第1行,第1位.

替代文字

有谁知道这是什么吗?

更新:编辑帖子以限定文件类型.这是由Microsoft的XSD创建者创建的XSD文件.

.net xml xsd byte-order-mark visual-studio

39
推荐指数
2
解决办法
3万
查看次数

RESTSharp在反序列化XML时遇到问题,包括字节顺序标记?

我想在一个简短的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)

c# byte-order-mark restsharp

7
推荐指数
1
解决办法
3578
查看次数

c#从字节数组中检测xml编码?

好吧,我有一个字节数组,我知道它在字节数组中的xml serized对象是否有任何方法可以从中获取编码?

我不打算去除它但是我将它保存在sql server上的xml字段中......所以我需要将它转换为字符串?

c# xml encoding binary-data

6
推荐指数
4
解决办法
1万
查看次数

C# 如何调试反序列化异常?

我已经使用 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 中的哪一行,但不知道如何执行此操作。

c# serialization xsd.exe

2
推荐指数
1
解决办法
1660
查看次数