小编Paw*_*ski的帖子

从XSD生成的C#类包含标记有不同限定属性的属性

我无法理解为什么C#代码生成器(xsd,xsd2code)生成具有两个标记有不同属性的相同类型属性的输出类Profile.其中一个标记为不合格,一个不标记.

我的XSD看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.acme.com" xmlns="http://www.acme.com" elementFormDefault="unqualified">   
  <xsd:complexType name="ParameterList">
    <xsd:sequence>
      <xsd:element ref="Parameter" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ParameterItem">
    <xsd:sequence>
      <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Value" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="Parameters" type="ParameterList" />
  <xsd:element name="Parameter" type="ParameterItem" />  
  <xsd:element name="Profile">
    <xsd:complexType>
      <xsd:sequence>        
        <xsd:element ref="Parameters" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="Parameters" type="ParameterList" minOccurs="1" maxOccurs="1"/>       
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>   
 </xsd:schema>
Run Code Online (Sandbox Code Playgroud)

并输出xsd2code生成的代码:

using System.Collections.Generic;
using System.Xml.Schema;
using System.Xml.Serialization;

namespace SO2_installation
{
    public class ParameterList
    {
        public ParameterList()
        { …
Run Code Online (Sandbox Code Playgroud)

c# xml xsd

5
推荐指数
1
解决办法
634
查看次数

标签 统计

c# ×1

xml ×1

xsd ×1