【问题标题】:Why do I get "Error: '.', hexadecimal value 0x00, is an invalid character. Line 2, position 1." from xsd utility为什么我会收到“错误:'.',十六进制值 0x00,是无效字符。第 2 行,位置 1。”来自 xsd 实用程序
【发布时间】:2019-04-26 15:47:15
【问题描述】:

我希望能够扫描 SSRS 报告定义 (.rdl) 文件并以编程方式更改它们。我正在关注 Microsoft 教程(虽然有点过时但找不到最新版本)。

教程在这里:https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2005/aa337455(v%3dsql.90)

我已经从 Microsoft 网站下载了 XML 架构文件 - ReportDefinition.xsd - 现在我按照步骤 4 到 6 打开 Visual Studio 命令提示符并运行实用程序 XSD 以生成 ReportDefinition.vb 文件包含 RDL 模式的类。

但是,当我按照说明运行命令时:

xsd /c /l:VB /n:SampleRDLSchema ReportDefinition.xsd

...我只是收到错误消息:

Error: '.', hexadecimal value 0x00, is an invalid character. Line 2, position 1.

这是文件的前几行;我看不到错误消息所指的字符 0x00:

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) Microsoft.  All rights reserved. -->
<xsd:schema targetNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition"
        elementFormDefault="qualified">

  <xsd:annotation>
      <xsd:documentation>

        The following schema describes the structure of the 
      Report Definition Language (RDL) for Microsoft SQL Server 2008 R2.  

鉴于这是 Microsoft 编写的使用 Microsoft 实用程序对 Microsoft 提供的文件运行的说明集,我有点困惑为什么其中应该有错误。

有人可以帮忙吗?谢谢。

【问题讨论】:

    标签: visual-studio reporting-services xml-parsing


    【解决方案1】:

    第 2 行开头报告的问题可能表明这是一个编码问题。第一行的属性encoding="utf-8" 表示该文件应被解释为具有UTF-8 编码。因此,在第一行之后,xsd 实用程序将尝试将文件读取为 UTF-8。如果文件实际上使用了不同的编码,那么就会产生与您遇到的错误一样的错误。

    要对此进行测试,请从第一行删除 encoding="utf-8" 并再次运行该命令。

    【讨论】:

    • 感谢您的建议。我从 Microsoft 网站下载了该文档的另一个副本,问题就消失了。奇怪。
    【解决方案2】:

    对我来说,这是另一个问题。我的文件包含一些内容,例如:

    <xs:include schemaLocation="XMLFILE.xsd"/>
    

    所以错误的意思是“找不到 XMLFILE.xsd”。确保您拥有所有文件中所有包含的所有相关 xml 文件。当您在 Visual Studio 中右键单击文件并执行“查看代码 (F7)”时,您就知道了。如果包含带有红色下划线,则该文件丢失或“XMLFile.xsd”中的某些内容丢失。

    拜托了微软的工作人员,显示一条清晰的错误消息可以为我们节省大量的工作时间......不是吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-07
      • 2015-06-23
      • 2012-06-17
      • 2014-08-16
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多