我正在创建一个类库,其中包含几个从客户端 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/