天道酬勤,学无止境

xsd.exe

Generate Nested Types instead of Global Types with xsd.exe

Using xsd.exe in a C# class, is there a way to produce a xsd file with Nested Type, instead of Global Types? I want to use this xsd file, with SSIS - Sql Server Integration Services, and look SSIS is not reading my xsd very well. I want to generate the xsd like this, with Nested Types : <?xml version="1.0" encoding="utf-8"?> <xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Country"> <xs:complexType>

2022-01-10 03:22:23    分类:问答    xsd   xsd.exe   ssis

通过 .NET Framework 类以编程方式使用 XSD.exe 工具功能(从类生成架构)?(Programmatically use XSD.exe tool feature (generate schema from class) through .NET Framework classes?)

问题 我想根据类生成 XML 架构,就像您可以使用 Xsd.exe 工具一样。 例如xsd.exe /type: typename /outputdir:c:\ assmeblyname 。 有没有办法通过使用 .NET Framework 中的类而不是使用独立工具来做到这一点? 我确信我已经看到有关任务引用或类似的信息——即一些编程的东西——可以用来代替这些独立的实用程序中的一些,或者一些独立的实用程序通过 FCL 或 Microsoft API 获得它们的功能。 回答1 发现这个看起来应该可以解决问题...... public static string GetSchema<T>() { XmlAttributeOverrides xao = new XmlAttributeOverrides(); AttachXmlAttributes(xao, typeof(T)); XmlReflectionImporter importer = new XmlReflectionImporter(xao); XmlSchemas schemas = new XmlSchemas(); XmlSchemaExporter exporter = new XmlSchemaExporter(schemas); XmlTypeMapping map = importer

2021-12-01 08:21:02    分类:技术分享    .net   xsd.exe   fcl

Programmatically use XSD.exe tool feature (generate schema from class) through .NET Framework classes?

I want to generate an XML Schema based upon a class, just as you can do with the Xsd.exe tool. E.g. xsd.exe /type: typename /outputdir:c:\ assmeblyname. Is there a way to do this by using classes in the .NET Framework instead of using the standalone tool? I'm sure I've seen information about task references or similar - i.e. something programmatic - that can be used in place of some of these standalone utilities, or that some standalone utilities get their features through the FCL or a Microsoft API.

2021-11-22 20:46:04    分类:问答    .net   xsd.exe   fcl

在 Visual Studio 中的 MSBuild Community Tasks BeforeBuild 步骤期间,在路径中找不到 xsd.exe(Can't find xsd.exe in the path during MSBuild Community Tasks BeforeBuild step in Visual Studio)

问题 我正在使用 MSBuild 社区任务运行 Xsd.exe 作为我在 Visual Studio 中构建的一部分,如下所示: <Import Project="$(SolutionDir)Common.targets" /> <PropertyGroup> <MSBuildCommunityTasksPath>$(SolutionDir)TeamBuildTypes</MSBuildCommunityTasksPath> </PropertyGroup> <Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets" /> <UsingTask TaskName="XSD" AssemblyFile="$(VCTargetsPath)$(CPPTasks)" /> <Target Name="BeforeBuild"> <!--Exec Command="'$(DevEnvDir)..\Tools\vsvars32.bat'" /--> <XSD Sources="MySchema.xsd" GenerateFromSchema="classes" Language="CS" /> </Target> Common.targets是按照这里。 但是,我在构建过程中收到以下错误:

2021-11-22 15:07:27    分类:技术分享    xml   visual-studio   msbuild   xsd.exe   msbuildcommunitytasks

可以将多个 XSD 文件合二为一的工具?(Tool that can combine many XSD files into one?)

问题 我需要为大约 65 个 XSD 文件创建 XML 序列化程序类,为此我使用 Microsoft 的 XSD.EXE 来生成 C# 代码...... 但是,我一直在结果输出文件中遇到 Window CMD 的字符限制(其中 XSD.EXE 结合了包含的每个 XSD 的名称):“指定的路径、文件名或两者都太长。完全限定的文件名必须少于 260 个字符,并且目录名称必须少于 248 个字符。” 长话短说,似乎我可以让所有这些一起验证和生成的唯一方法是我是否可以合并所有 XSD(取消引用包含/导入,XSD.EXE 无法解析 schemaLocation无论如何)变成一个大的。 请告诉我,有一个工具可以做到这一点...... 回答1 您可以做的是创建另一个名为 file.xsd 的新文件,其中包含其中的所有架构名称,然后诀窍是使用 .\ 作为前缀命名最后一个架构文件。 文件.xsd <xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'> <generateClasses language='CS' namespace='MyNamespace'> <schema>First.xsd</schema> <schema>Second.xsd</schema> <!-- more schema files here --> <schema>

2021-11-21 19:12:56    分类:技术分享    .net-3.5   xsd   xml-serialization   xsd.exe

XSD.exe 和“循环组引用”(XSD.exe and "Circular Group references")

问题 我正在尝试构建一些类,以便我可以反序列化由第三方应用程序创建的 XML 文件。 幸运的是,第 3 方应用程序的开发人员在他们的代码中包含了一个模式文件,以便可以理解 XML 文件。 当我从 Visual Studio 使用 XSD.exe 工具时,进程失败报告以下错误 “来自 targetNamespace='' 的组 'SegGroupOrSegmentGrouping' 的定义无效:循环组引用。” 任何有关如何根据此错误生成类文件的帮助将不胜感激。 可以在此处找到架构文件的副本:架构文件 回答1 尝试使用svcutil ; 它可以处理循环引用。 在以下示例中, eExact-Schema.xsd是xsd.exe无法处理的 XSD。 例子: C:\SRC\Exact>svcutil eExact-Schema.xsd /language:C# /dataContractOnly /importxmltypes /out:exact.cs 这总是一个很好的起点; 您现在可以使用这个类并根据您的风格/需要进行更改,添加评论等,这将为您节省大量时间/搜索而不是从头开始。 回答2 我最近遇到了同样的问题, 我从第三方公司获得了一个架构,他们从 Web 服务返回一个 xml 结构。 然后我想反序列化响应并将信息存储到带有 NHibernate 的数据库中。 没问题,我以为我会只使用

2021-11-19 15:34:08    分类:技术分享    c#   .net   schema   xsd.exe

XSD.exe and "Circular Group references"

I am attempting to build some classes so that I can deserialise an XML file created by a third party application. Luckily the developer of the 3rd party application included a schema file with their code so that the XML file can be understood. When I use the XSD.exe tool from Visual Studio the process fails reporting the following error "Group 'SegGroupOrSegmentGrouping' from targetNamespace='' has invalid definition: Circular group reference." Any help in how I can generate the class files in light of this error would be appreciated. A copy of the schema file can be found here : schema file

2021-11-15 17:56:16    分类:问答    c#   .net   schema   xsd.exe

Tool that can combine many XSD files into one?

I need to create XML serializer classes for approximately 65 XSD files, for which I am using Microsoft's XSD.EXE to generate the C# code... However, I keep running into Window CMD's character limit in the resulting output file (in which XSD.EXE combines the name of every XSD included): "The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters." To make a long story short, it seems that the only way I can get all these to validate and generate together is if I can merge all the

2021-11-15 02:29:23    分类:问答    .net-3.5   xsd   xml-serialization   xsd.exe

Can't find xsd.exe in the path during MSBuild Community Tasks BeforeBuild step in Visual Studio

I am using MSBuild Community Tasks to run Xsd.exe as part of my build in Visual Studio as thus: <Import Project="$(SolutionDir)Common.targets" /> <PropertyGroup> <MSBuildCommunityTasksPath>$(SolutionDir)TeamBuildTypes</MSBuildCommunityTasksPath> </PropertyGroup> <Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets" /> <UsingTask TaskName="XSD" AssemblyFile="$(VCTargetsPath)$(CPPTasks)" /> <Target Name="BeforeBuild"> <!--Exec Command="'$(DevEnvDir)..\Tools\vsvars32.bat'" /--> <XSD Sources="MySchema.xsd" GenerateFromSchema="classes" Language="CS" /> </Target> Common

2021-11-12 15:55:37    分类:问答    xml   visual-studio   msbuild   xsd.exe   msbuildcommunitytasks

如何让 XSD.exe 为我生成合适的类,以便我可以创建一个很好的 XML(how to ask XSD.exe to generate proper class for me, so that i can create a fine XML)

问题 我从 Visual Studio 2010 创建了一个 XSD 文件, 然后我使用xsd /c mydemo.xsd为我生成类,以便我可以在运行时创建一个 XML 文件。 但是,当我使用该类、填充一些值并序列化对象时,XML 文件对我来说并不好看。 这是我的 XSD 文件 单击此处查看 我期望的 XML 文件是单击此处查看(从 Visual Studio“示例 XML”生成) 但是当我尝试序列化它时,XML文件是这样的 点击这里查看 格式完全不一样 例如 期待: <ColumnInfo> <Column Type="Type1" DisplayValue="DisplayValue1" Key="Key1"/> <Column Type="Type2" DisplayValue="DisplayValue2" Key="Key2"/> <Column Type="Type3" DisplayValue="DisplayValue3" Key="Key3"/> </ColumnInfo> 但生成结果是这样的: <columnInfoField> <ColumnType> <displayValueField>Display value for key 1</displayValueField> <keyField>key1</keyField> <typeField

2021-10-26 11:40:50    分类:技术分享    c#   xml-serialization   xsd   xsd.exe