xml - 如何防止 xsd 生成的类被命名为 "NewDataSet"?

标签 xml c#-4.0 ado.net dataset

我正在创建一个类库,其中包含几个从客户端 xml 文件生成的数据集。

我将示例 xml 文件拖入 VStudio 并创建 .xsd 文件,将它们添加到项目并将工具设置为 MSDataSetGenerator,然后(在出现第一个构建错误后)发现所有生成的类都称为 NewDataSet。我通过在 xsd 文件的属性对话框中设置工具命名空间来避免构建错误。但是使用多个数据集的应用程序代码变得丑陋,因为你不能在没有“NewDataSet”变得不明确的情况下使用“using”。此外,类名“NewDataSet”并不是很有用。

有什么方法可以覆盖/影响生成类的命名吗?

最佳答案

我已经看到并解决了这个问题:

将此添加到您的模式标记中 ... "xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"

例如,您的 xsd 的前两行可能如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

您的 xsd 可能将所有内容都包装在一个元素中,其名称就是您希望类名成为的名称……所以这样做:

<xs:element name="YOUR_CLASSNAME" msdata:IsDataSet="true">

这就是我为让它发挥作用所做的大致工作。

关于xml - 如何防止 xsd 生成的类被命名为 "NewDataSet"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12401099/

相关文章:

c#-4.0 - 从只读文件系统打开 SQL Server CE 数据库数据

c# - 非常奇怪的 DataReader 性能问题

c# - 如果 Sql Server 返回错误,则应抛出 SqlException。但它不是

c# - 如何从外部 javascript 文件获取值到代码隐藏文件?

c# - 为什么 WebClient.OpenRead 在 Windows Server 2008 R2 上超时

c# - 如何防止 ADO.NET 在读取 Excel 文件时更改 double 值

java - JAXB - 解码 OutOfMemory : Java Heap Space

Java xml解码列表嵌套对象问题

基本菜单示例中的 XML 问题

Android TextView 禁用颜色更改