从XSD(使用XSD.exe)VB.NET生成XML时出错

从XSD(使用XSD.exe)VB.NET生成XML时出错,xml,vb.net,xsd,Xml,Vb.net,Xsd,好的,看,我正在尝试通过XSD构建一个XML。为此,我使用了一个用XSD.exe工具(凭证构建版本2.vb)构建的类,它基本上有两个子节点MSGDATA,类中的字段类型被转换为两个属性 第一个节点没有问题,因为该节点的所有子节点都是使用以下代码构建的简单XML片段: Dim Addenda As New VOUCHER_BUILD_TypeShape() Addenda.FieldTypes = New FieldTypes_TypeShape With Addenda.Fi

好的,看,我正在尝试通过XSD构建一个XML。为此,我使用了一个用XSD.exe工具(凭证构建版本2.vb)构建的类,它基本上有两个子节点MSGDATA,类中的字段类型被转换为两个属性

第一个节点没有问题,因为该节点的所有子节点都是使用以下代码构建的简单XML片段:

 Dim Addenda As New VOUCHER_BUILD_TypeShape()
 Addenda.FieldTypes = New FieldTypes_TypeShape
        With Addenda.FieldTypes

            .VCHR_BANK_STG = New FieldTypesVCHR_BANK_STG_TypeShape
            With .VCHR_BANK_STG
                .class = "R"
                .BUSINESS_UNIT = New FieldTypesCharFieldType
                ...
            End With
        End With

 Dim xs As New XmlSerializer(GetType(VOUCHER_BUILD_TypeShape))
 Dim fs As New FileStream("C:/filesPS/demo.xml", FileMode.Create)
 xs.Serialize(fs, Addenda)
 fs.Close()
是什么生成了以下XML:

<VOUCHER_BUILD xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <FieldTypes>
           <VCHR_VNDR_STG class="R">
                 <BUSINESS_UNIT type="CHAR"/>
                 ...
           </VCHR_VNDR_STG>
     </FieldTypes>
</VOUCHER>
在FieldTypes节点至少让我

尝试放置内容后:

 Dim oTransaction_TypeShape(0) As Transaction_TypeShape
'THIS LINE IS THAT I'M ADDING THAT THEORY IS NODE VCHR_HDR_STG
 oTransaction_TypeShape(0).VCHR_HDR_STG = New VCHR_HDR_STGMsgDataRecord_TypeShape
 Addenda.MsgData = oTransaction_TypeShape
编译时不标记任何错误。但它在运行时抛出此错误:对象引用未设置为对象的实例

这看起来很简单,但我已经解决不了了


非常感谢您的帮助。

我终于解决了这个问题,错误是一个没有值(无值)的属性:

 Dim oTransaction_TypeShape(0) As Transaction_TypeShape
 Addenda.MsgData = oTransaction_TypeShape
 Dim oTransaction_TypeShape(0) As Transaction_TypeShape
'THIS LINE IS THAT I'M ADDING THAT THEORY IS NODE VCHR_HDR_STG
 oTransaction_TypeShape(0).VCHR_HDR_STG = New VCHR_HDR_STGMsgDataRecord_TypeShape
 Addenda.MsgData = oTransaction_TypeShape
Dim oTransaction_TypeShape(0) As Transaction_TypeShape 

oTransaction_TypeShape(0) = New Transaction_TypeShape

oTransaction_TypeShape(0).VCHR_HDR_STG = New VCHR_HDR_STGMsgDataRecord_TypeShape