如何要求 XSD.exe 为我生成正确的类,以便我可以创建良好的 XML

2024-02-05

我从 Visual Studio 2010 创建了一个 XSD 文件,

然后我用xsd /c mydemo.xsd为我生成类,以便我可以在运行时创建 XML 文件。

但是,当我使用该类、填充一些值并序列化该对象时,XML 文件对我来说看起来不太好。

这是我的 XSD 文件点击这里查看 http://dl.dropbox.com/u/284185/demo.xsd

我期望的 XML 文件是点击这里查看 http://dl.dropbox.com/u/284185/expected-output.xml(从 Visual Studio“示例 XML”生成)

但是当我尝试序列化它时,XML文件是这样的点击此处查看 http://dl.dropbox.com/u/284185/output.xml

格式完全不同

e.g

期待:

<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>string</typeField>
  </ColumnType>
  <ColumnType>
    <displayValueField>Display value for key 2</displayValueField>
    <keyField>key2</keyField>
    <typeField>int</typeField>
  </ColumnType>
  <ColumnType>
    <displayValueField>Display value for key 3</displayValueField>
    <keyField>key3</keyField>
    <typeField>long</typeField>
  </ColumnType>
</columnInfoField>

我实现的序列化报告的代码是:

http://msdn.microsoft.com/en-us/library/ms731073.aspx http://msdn.microsoft.com/en-us/library/ms731073.aspx

DataContractSerializer dcs = new DataContractSerializer(typeof(Report));
using (XmlDictionaryWriter xdw = XmlDictionaryWriter.CreateTextWriter(File.Create(@"C:\demo\schema\output.xml"), Encoding.UTF8))
{
  dcs.WriteObject(xdw, report);
}

不知道为什么我不能使用“XmlSerializer”,当我使用它时,它会抱怨无法转换数组类型......

无法生成临时类(结果=1)。
错误 CS0030:无法将类型“ColumnValueType[]”转换为 '列值类型'
错误CS0029:无法将类型“ColumnValueType”隐式转换为 '列值类型[]'

那么,有人可以给我一些建议,我该如何修复我的 XML 格式???


xsd.exe 上有一个错误 - 请查看此博客文章:http://satov.blogspot.com/2006/12/xsdexe- generated-classes-causing.html http://satov.blogspot.com/2006/12/xsdexe-generated-classes-causing.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何要求 XSD.exe 为我生成正确的类,以便我可以创建良好的 XML 的相关文章

随机推荐

  • 在 TabBar 控制的 iOS 应用程序中的第二个选项卡中进行交互时,将 RemoteControlEvents 接收到第一个选项卡

    我正在开发一个带有标签栏控制器的 iOS 应用程序 在第一个选项卡中 我放置了一个 AVQueuePlayer 实例来开始从网络播放音乐 我完成了所有编码以允许通过远程控制事件播放和暂停事件 但只有当我停留在第一个选项卡中时 我才能接收远程
  • 如何将样式应用于嵌入的 SVG?

    当使用 SVG 直接包含在文档中时
  • Mac App开发:“***.app”已损坏且无法打开

    我有一个 Mac 应用程序 我已经有一段时间没有碰过它了 现在 自 macOS Catalina 以来 与 Mac App Store 集成运行应用程序的情况似乎发生了变化 https stackoverflow com q 5867337
  • 如何在 PHP 中 GET 或 POST 多部分数据请求

    我正在从 iOS 发送多部分请求以在服务器上上传图像或文档文件 我的要求就像 UIImage im UIImage imageNamed 57X57 png NSData imageData UIImageJPEGRepresentatio
  • 需要使用范围进行嵌套连接的 ActiveRelation

    我是 Rails 新手 玩得很开心 查询 API 给了我 有些麻烦 我一直在快速地缩放并做很多事情 但这是我第一次花几个小时试图弄清楚 它不像我以前使用过的任何东西 常规 SQL 或 Hibernate 管他呢 我的模型非常简单 私人消息有
  • 是否有用于标头(h1、h2、h3、h4、h5 或 h6)的 jQuery 选择器?

    jQuery 中似乎没有办法判断一个节点是否是标题 即 h1 h2 h3 h4 h5 或 h6 我想写一些类似的东西 hNode node closest h if hNode length gt 0 hNode css padding t
  • random_number() 如何并行工作?

    如何random number 与 OpenMP 并行工作吗 如果我在没有并行化的情况下运行程序 我总是得到相同的结果 但是通过并行化 我每次都会得到不同 但相似 的结果 不保证线程安全或线程性能random number一般来说 Fort
  • 在hadoop java中解析json输入

    我的输入数据位于 hdfs 中 我只是想进行字数统计 但有细微的差别 数据为json格式 所以每行数据为 author foo text hello author foo123 text hello world author foo234
  • 通过链接 2 列设置 R data.table 行顺序

    我试图弄清楚如何根据 2 列的链接对 R 数据表进行排序 这是我的示例数据表 dt lt data table id c A A A A A col1 c 7521 0 7915 5222 5703 col2 c 7907 5703 800
  • CommaIde 上未声明子例程“say”

    我用 CommaIde 打开了这个简单的脚本 usr bin env perl6 my str foobar say str IDE 突出显示单词 say 并显示错误 子程序说未定义 但是 如果我执行该脚本 它运行正常 其他核心方法 如 p
  • 在python中将二进制整数写入文件

    如何在 Python 3 中将整数写入二进制文件 例如 我想将 6277101735386680763835789423176059013767194773182842284081 以恰好 24 个字节的二进制格式写入文件 无符号 我只会使
  • 如果调用 fclose(0),这会关闭标准输入吗?

    如果调用 fclose 0 这会关闭标准输入吗 我问这个问题的原因是由于某种原因 stdin 在我的应用程序中被关闭 我不明白为什么 我检查了 fclose stdin 但这不在应用程序中 所以我想知道 fclose 0 是否会导致未定义的
  • 仍然对 Objective-C 的动态绑定感到困惑

    这个问题来自我刚刚添加到答案中的评论这个问题 https stackoverflow com questions 6608551 question about dynamic binding objective c and methods
  • 看起来我正在实例化这个 SpeechAPI 接口。这怎么可能?

    我在我的项目中使用 Microsoft 文本到文本语音功能 但我对此有一个问题 实际上不是直接的问题 所以 通常程序员在创建接口时 他们会将 I 作为接口名称的前缀 如 IReadable IEnumerator 等 但我遇到过一些让我震惊
  • Unity 2D:区域颜色反转效果

    我正在尝试创建一个 GameObejct 如果处于活动状态 则会反转其后面任何内容的颜色 理想情况下 当该游戏对象出现 变为活动状态时 它会从其中心点扩展到一定大小的半径 因此 想象一个圆 其比例在 1 或 2 秒内逐渐从 x 0 和 y
  • 如何排除模板文字类型的子字符串?

    我想从模板文字类型 自 TypeScript 4 1 起可用 中排除一些子字符串 但我不知道是否可能 Example 我可以定义一个类型说 这个字符串是一个包含 2 个或更多元素的元组 即类似的东西 string number 使用这个文字
  • Symfony 2 - 在 ROLE_USER 下添加用户角色

    我正在尝试在 Symfony 2 中的默认 USER ROLE 下创建一个新角色 该角色对某些功能的写访问权限有限 我正在使用 FOSUserBundle 到目前为止 我已经编写了以下安全设置 但我的 ROLE DEMO 用户仍然获得 RO
  • Rails 时区问题

    这是我的控制台 irb main 048 0 gt Time now gt 2011 04 13 00 51 50 0200
  • Python ctypes 和动态链接

    我正在用 C 编写一些库 其中包含我想通过 ctypes 从 Python 调用的函数 我已经在另一个库中成功完成了此操作 但是该库只有非常普通的依赖项 即fstream math malloc stdio stdlib 我正在开发的另一个
  • 如何要求 XSD.exe 为我生成正确的类,以便我可以创建良好的 XML

    我从 Visual Studio 2010 创建了一个 XSD 文件 然后我用xsd c mydemo xsd为我生成类 以便我可以在运行时创建 XML 文件 但是 当我使用该类 填充一些值并序列化该对象时 XML 文件对我来说看起来不太好