【问题标题】:XML Schema Definition Tool not generating SchemaLocationXML 模式定义工具不生成 SchemaLocation
【发布时间】:2009-06-05 13:51:42
【问题描述】:

从普通的旧 C# 对象生成 XSD 时,Visual Studio 提供的 xsd.exe 工具是否会生成 SchemaLocation 属性(在 xs:import 中)?

我发现我生成的 XSD 无效,因为 xs:import 将导入命名空间并且不提供提示以下提示的相对 schemalocation 值

命名空间“urn:company-event-namespace”的导入架构未解析。

【问题讨论】:

    标签: xml poco xsd.exe


    【解决方案1】:

    this anwser所示可以手动添加属性。 因为xsd工具会生成一个partial class,所以可以在单独的文件中添加这个属性,这样就不用修改生成的文件了。

    public partial class Gpx
    {
        [XmlAttribute("schemaLocation", Namespace = XmlSchema.InstanceNamespace)]
        public string xsiSchemaLocation = "http://www.topografix.com/GPX/1/1 " +
                                     "http://www.topografix.com/GPX/1/1/gpx.xsd";
    }
    

    【讨论】:

      【解决方案2】:

      如您所见,它不会生成该属性。这可能与它不会使用该属性的事实有关,如果该属性存在于它正在读取的架构中。

      【讨论】:

        猜你喜欢
        • 2011-01-10
        • 2011-12-06
        • 1970-01-01
        • 2011-09-06
        • 1970-01-01
        • 2023-03-15
        • 2011-03-13
        • 1970-01-01
        • 2011-01-08
        相关资源
        最近更新 更多