C#生成XMLSchema文档

超人不会敲代码 2017-03-01 05:07:26
我需要在C#中把实体类生成XML文件,我已经生成了,但是节点是这样的:<sequence>,我需要生成<xs:sequence>这样的前缀的。
不知如何解决呢,有大神吗?
...全文
180 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
assange_h 2017-03-02
  • 打赏
  • 举报
回复
如果你用的是DataSet这个可以使用他自己的 .toXml 方法 XmlWriteMode有多个属性可以按照你的要求生成相应的格式 DataSet.WriteXml("Customers.xml", XmlWriteMode.WriteSchema);
xdashewan 2017-03-02
  • 打赏
  • 举报
回复
引用 5 楼 zz294487918 的回复:
前面没有 xs:
我不知道你代码怎么写的,例子我运行了一下,只字未改,下面是结果

<?xml version="1.0" encoding="utf-8"?>
<Books xmlns:books="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
  <money:Book>
    <books:TITLE>A Book Title</books:TITLE>
    <money:PRICE books:currency="US Dollar">
      <money:price>9.95</money:price>
    </money:PRICE>
  </money:Book>
</Books>
  • 打赏
  • 举报
回复
引用 4 楼 xdashewan 的回复:
[quote=引用 2 楼 zz294487918 的回复:] 谢谢啦 XmlSerializerNamespaces具体怎么用呀 我用的是XmlDocument
msdn上有具体例子,就是我给的url[/quote] 上面的例子我试过了 不对啊 我想要这样的: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 可是我自己生成的是: <?xml version="1.0"?> <schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <element Name="DTO_QRcode"> <complexType> <sequence> <element Name="code" Type="xs:string" /> <element Name="QRcode" Type="xs:string" /> </sequence> </complexType> </element> </schema> 前面没有 xs:
xdashewan 2017-03-02
  • 打赏
  • 举报
回复
引用 2 楼 zz294487918 的回复:
谢谢啦 XmlSerializerNamespaces具体怎么用呀 我用的是XmlDocument
msdn上有具体例子,就是我给的url
  • 打赏
  • 举报
回复
引用 1 楼 xdashewan 的回复:
用XmlSerializerNamespaces类,参照:https://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializernamespaces.aspx
谢谢啦 XmlSerializerNamespaces具体怎么用呀 我用的是XmlDocument
  • 打赏
  • 举报
回复
谢谢啦 XmlSerializerNamespaces具体怎么用呀 我用的是XmlDocument
  • 打赏
  • 举报
回复
用XmlSchema 类已经解决。
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="cat" type="xs:string"/>
    <xs:element name="dog" type="xs:string"/>
    <xs:element name="redDog" type="xs:string" substitutionGroup="dog"/>
    <xs:element name="brownDog" type="xs:string" substitutionGroup ="dog" />

    <xs:element name="pets">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="cat"/>
          <xs:element ref="dog"/>
        </xs:choice>
      </xs:complexType>
    </xs:element>
</xs:schema>
参考 https://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschema(v=vs.110).aspx
  • 打赏
  • 举报
回复
引用 6 楼 xdashewan 的回复:
[quote=引用 5 楼 zz294487918 的回复:] 前面没有 xs:
我不知道你代码怎么写的,例子我运行了一下,只字未改,下面是结果

<?xml version="1.0" encoding="utf-8"?>
<Books xmlns:books="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
  <money:Book>
    <books:TITLE>A Book Title</books:TITLE>
    <money:PRICE books:currency="US Dollar">
      <money:price>9.95</money:price>
    </money:PRICE>
  </money:Book>
</Books>
[/quote]
引用 6 楼 xdashewan 的回复:
[quote=引用 5 楼 zz294487918 的回复:] 前面没有 xs:
我不知道你代码怎么写的,例子我运行了一下,只字未改,下面是结果

<?xml version="1.0" encoding="utf-8"?>
<Books xmlns:books="http://www.cpandl.com" xmlns:money="http://www.cohowinery.com">
  <money:Book>
    <books:TITLE>A Book Title</books:TITLE>
    <money:PRICE books:currency="US Dollar">
      <money:price>9.95</money:price>
    </money:PRICE>
  </money:Book>
</Books>
[/quote] 这个我也运行了,不是我的需求啊, 我用XmlSchema 类已经解决了,还是感谢你哈
xdashewan 2017-03-01
  • 打赏
  • 举报
回复
用XmlSerializerNamespaces类,参照:https://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializernamespaces.aspx
C# XML入门经典——C#编程人员必备的XML技能 作者:[美]Stewart Fraser, Steven 著,毛尧飞,崔伟 译 出版社:清华大学出版社 出版时间:2003年11月 第1章 在C#中使用XML的原因1.1 使用XML的原因1.1.1 开放性1.1.2 简单性1.1.3 自我描述性1.1.4 互操作性1.1.5 结构1.1.6 分开结构和内容1.1.7 可扩展性1.2 什么是XML1.2.1 XML涉及多种语言1.2.2 XML文档1.3 使用XML的对象1.3.1 内容表示1.3.2 B2B电子商务1.3.3 远程过程调用1.3.4 数据存储和访问1.3.5 不使用XML的情况1.4 XML标准1.4.1 什么是W3C1.4.2 XML标准1.4.3 与XML相关的标准1.4.4 标准重要的原因1.5 XML如何适应.NET1.5.1 在.NET Framework中使用XML1.5.2 .NET中的XML支持1.6 小结第2章 XML概述2.1 XML的概念2.1.1 XML元素2.1.2 XML属性2.1.3 XML解析器2.1.4 构建XML2.1.5 XML文档的各个组成部分2.2 创建格式良好的XML文档2.2.1 XML中的元素2.2.2 XML中的属性2.2.3 在XML中使用注释2.3 验证XML文档的有效性2.3.1 文档类型定义2.3.2 XML Schema2.3.3 XML编码2.4 小结第3章 在.NET中使用XML3.1 XML如何适合.NET3.1.1 XML3.1.2 文档对象模型(DOM)3.1.3 命名空间3.1.4 DTD和XML Schema3.1.5 XPath 3.1.6 XSLT3.2 .NET Framework使用XML3.2.1 配置文件3.2.2 ADO.NET3.2.3 SOAP和Web服务3.3 案例分析——电话簿样式应用程序3.4 小结第4章 在.NET中读取XML4.1 流模型4.1.1 流模型和DOM的比较4.1.2 流模型中的变体4.2 XmlTextReader类4.2.1 XmlTextReader属性4.2.2 读取属性4.2.3 读取较大的数据块4.3 XmlNodeReader类4.4 XmlValidatingReader类4.5 小结第5章 在.NET中编写XML5.1 利用.NET类编写XML文档5.2 XmlWriter类5.2.1 XmlWriter方法5.2.2 XmlWriter属性5.3 XmlWriter类5.3.1 XmlTextWriter构造函数5.3.2 XmlTextWirter属性5.3.3 处理XmlTextWirter5.3.4 写入较大的数据块5.4 小结第6章 在.NET中实现DOM6.1 文档对象模型6.1.1 文档对象模型与流模型6.1.2 .NET DOM继承模型6.2 XmlNode类6.2.1 XmlNode的定义6.2.2 XmlNode的属性6.2.3 XmlNode的方法6.3 XmlDocument类6.3.1 创建节点6.3.2 加载和保存6.3.3 迭代XmlDocument实例6.3.4 编辑XML文档6.4 案例分析6.4.1 体系结构6.4.2 应用程序详细信息6.4.3 加载用户联系人6.4.4 搜索联系人6.4.5 导出联系人6.4.6 导入其他联系人6.5 小结第7章 XPath和.NET7.1 System.Xml.XPath命名空间7.2 .NET中的XPath类7.2.1 XPathDocument类
Altova XMLSpy ®2013企业版是业界最畅销的XML编辑器和开发环境进行建模,编辑,转换和调试XML相关的软件。它提供了世界领先的XML编辑器,在原图形架构设计师,一个代码生成器,文件转换器,调试器,分析器,完整的数据库集成,支持WSDL,SOAP,XSLT,XPath,XQuery,XBRL,Open XML文档,加上视觉Studio和Eclipse插件,等等。 XMLSpy 你需要创建最先进的XML和Web服务的应用程序,但同时它具有足够的灵活性,让您的工作与XML的意见和选择最适合您的业务需求和工作偏好。在XML编辑器的特性和功能包括: 智能XML编辑器 XSL / XSLT1.0/2.0编辑器,XSLT调试器和分析器XSLT 图形的XML编辑和基于文本的XML编辑视图 模式感知的XQuery XQuery编辑器,调试器和XQuery的分析器 革命性的智能修复XML验证自动纠错 XPath的自动完成和XPath分析器窗口 可视化的XML Schema编辑器 数据库集成 SharePoint®服务器的支持 DTD编辑器DTD模式变换 XBRL验证器和图形化的XBRL分类标准编辑器 在MS Office 2007和更高版本的Open XML(OOXML)数据的支持 图形化的WSDL编辑器(支持WSDL 1.1和2.0) 的Java / C#/ C++代码生成XML架构 SOAP客户端,SOAP调试器,SOAP验证 XML数字签名XML文档的签名支持 即时图表创建用于显示和分析XML数据 JSON编辑器,JSON和XML转换 Visual Studio集成与Eclipse的集成 HTML编辑器和CSS编辑器,支持HTML5和CSS3 Java API和COM API XML项目管理 支持非常大的文件
支持所有xml,xdtd,xsd等相关功能操作修改,转换xmltoxsd,xsdtoxml等等1、新 JSON编辑器版 一个新的入门级版本,专门针对需要图形JSON模式编辑器和相关JSON工具的开发人员。这还包括免费社区版的所有功能。 2、新的 JSON Schema Draft 6支持 与JSON Schema Draft 4一起,图形JSON Schema编辑器现在支持JSON Schema Draft 6,JSON编辑器现在为JSON Schema规范提供验证。 3、新的 JSON文档大纲视图 提供一个简单的树,可以快速可视化和导航JSON文档。 4、新的 JSON模式库 自动将JSON文档与基于JSON文件名的通用标准模式相关联,从而为标准JSON文件类型启用验证和智能感知。还允许从“新建文件”对话框中创建标准JSON文档的新实例。 5、适用于HTML和PDF的新 JSON模式文档工具 为JSON模式(草案4和草案6)创建文档,可以是带有可导航图表的丰富HTML,也可以是可打印的PDF。 6、新的 Schematron编辑和验证 Schematron,RelaxNG和XSD的验证规则现在可以与文档关联,允许使用多个模式和模式类型来验证XML实例文档。 7、新的 XSLT 3.0支持 提供对最新XSLT 3.0函数和子句的支持。 8、新的 Git源代码控制集成支持 通过在TortoiseGit上提供包装器,为Git源代码控制提供支持。显示项目树中每个文档的状态。 9、XML Data Binder中的新 .Net标准支持 Liquid XML Data Binder现在支持为.Net Standard(1.6和2.0)生成C#和Visual Basic .Net源代码和项目文件。 10、XML Data Binder中的新 .Net Core支持 Liquid XML Data Binder现在支持为.Net Core(1.1和2.0)生成C#和Visual Basic .Net源代码和项目文件。 二、修复和改进 1、Liquid Studio和XML编辑器 添加了对XML Schema Documentation Tool的PDF支持。 在文本编辑器中添加了前进和后退导航点。 添加了将文档“编码”设置为所有编辑器的属性网格的选项。 添加了将文档“行结束”设置为所有编辑器的属性网格的选项。 改进了XML Schema到JSON Schema的转换。 在JSON Schema编辑器中添加了default,const,enum和examples值编辑器的编辑器。 2、液体数据映射器 数据库源SQL现在可以参数化,从而可以轻松限制从数据库读取的数据。 添加了SQLite支持 - 在数据转换中使用SQLite作为数据源。 添加了时区功能(toLocal,toUTC,setTimezone)。 为XML Writer属性添加了“行结尾”。 3、Liquid XML Data Binder 为.Net项目添加了“生成可空的简单类型”选项。这会生成可选的简单类型,如.Net Nullable Types,例如int,而不是生成IsValid属性。这意味着可选的简单类型像复杂类型一样工作,允许您测试并将它们设置为null(或VB中的Nothing)。 为所有Visual Studio 2017 C#和Visual Basic .Net项目添加了选项,以使用LiquidTechnologies.Runtime Nuget而不是本地安装的Liquid Runtime文件。 添加.Net项目选项以指定“强名称密钥文件”。这会将指定的值作为强名称密钥文件(例如MyKey.snk)添加到项目文件中,并将“将程序集签名”设置为“true”。 4、Visual Studio扩展 现在,所有Visual Studio扩展都是从单个VSIX文件安装的。 5、一般改进 除了上面概述的新功能外,现有功能还通过我们的用户请求的功能得到了增强和改进。

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧