C# 创建类的多个实例以匹配XML

C# 创建类的多个实例以匹配XML,c#,soap,wsdl,C#,Soap,Wsdl,我已经收到了以下XML请求,作为与WSDL一起遵循的模型 <xs:complexType name="commonInput"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="propertyList" nillable="true" type="tns:commonProperty" /> </xs:sequence> &

我已经收到了以下XML请求,作为与WSDL一起遵循的模型

  <xs:complexType name="commonInput">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="propertyList" nillable="true" type="tns:commonProperty" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="commonProperty">
    <xs:sequence>
      <xs:element minOccurs="0" name="context" type="xs:string" />
      <xs:element minOccurs="0" name="name" type="xs:string" />
      <xs:element minOccurs="0" name="value" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

我希望使用这些类型在代码中创建响应,以创建类似于以下内容的内容

     <commonInput>
        <loginId></loginId>
        <propertyList>
           <context></context>
           <name></name>
           <value></value>
        </propertyList>
        <propertyList>
           <context></context>
           <name></name>
           <value></value>
        </propertyList>
     </commonInput>

我遇到的问题是,我无法在代码中创建此结构,因为commonInput.propertyList不是数组或列表,它只是一个类。

如何在commonInput中创建propertyList的多个实例?

您的类
commonInput
具有一个名为
propertyList
的属性,该属性是类型为
commonProperty
的一系列实体。请注意包含其定义的
标记

因此,您应该能够使用以下内容:

private List propertyList=new ArrayList()


我不太确定从XML到“类”的转换是什么。 我们使用Jaxb在XML和java类之间自动转换

针对您的评论,我将尝试用一个例子来澄清: 我们的WSDL定义:

<s:complexType name="ArrayOfTEKLeverancierObj">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="TEKLeverancierObj" 
             nillable="true" type="tns:TEKLeverancierObj" />
        </s:sequence>
</s:complexType>

在我们的java类中,这可以转化为:

public class ArrayOfTEKLeverancierObj {

    @XmlElement(name = "TEKLeverancierObj", nillable = true)
    protected List<TEKLeverancierObj> tekLeverancierObj;
公共类ArrayOfTEKLeverancierObj{
@XmlElement(name=“TEKLeverancierObj”,nillable=true)
受保护的名单;

我理解这部分内容,但我关心的是将列表分配给commonInput.propertyList。因为它没有定义为列表(只是一个类)我可以这样做吗?我不相信这会起作用。用我们自己的应用程序中的一些工作示例代码更新了我的答案。希望这会有帮助?谢谢。这确实有助于理解结构。最终的问题是,由于架构的配置方式,我需要在我们自己的代码中将列表转换为数组。很高兴这有帮助,相信我,你不是唯一一个最近因为WSDL的问题而头疼的人;)