需要一个 XSD 结构来解析 DiffGram 数据

问题描述

我正在 IICS(informatica 云服务)中开发数据提取应用程序,但在解析来自供应商的 XML 输出时遇到问题。

这是 XML 片段:

<xs:schema xmlns="""" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" id=""NewDataSet"">
  <xs:element msdata:IsDataSet=""true"" msdata:UseCurrentLocale=""true"" name=""NewDataSet"">
    <xs:complexType>
      <xs:choice maxOccurs=""unbounded"" minOccurs=""0"">
        <xs:element name=""Table1"">
          <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs=""0"" name=""FirsTNAME"" type=""xs:string""/>
                <xs:element minOccurs=""0"" name=""LASTNAME"" type=""xs:string""/>
                <xs:element minOccurs=""0"" name=""dob"" type=""xs:string""/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>
<diffgr:diffgram xmlns:diffgr=""urn:schemas-microsoft-com:xml-diffgram-v1"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
  <NewDataSet xmlns="""">
   <Table1 diffgr:hasChanges=""inserted"" diffgr:id=""Table11"" msdata:rowOrder=""0"">
     <FirsTNAME>Luke</FirsTNAME><LASTNAME>Washington</LASTNAME><dob>3/20/1980</dob>
   </Table1>
   <Table1 diffgr:hasChanges=""inserted"" diffgr:id=""Table12"" msdata:rowOrder=""1"">
     <FirsTNAME>Mark</FirsTNAME><LASTNAME>Johnson</LASTNAME><dob>5/19/1980</dob>
   </Table1>
   ...
 </NewDataSet></diffgr:diffgram>
 <ReturnMessage>0</ReturnMessage>
 <Status>0</Status>

这是我用来解析的 XSD 结构:

<xs:complexType name="RespondData">
    <xs:sequence>
      <xs:element msdata:IsDataSet="true" msdata:UseCurrentLocale="true" name="NewDataSet">
        <xs:complexType>
          <xs:choice maxOccurs="unbounded" minOccurs="0">
            <xs:element name="Table1">
              <xs:complexType>
                <xs:sequence>
                  <xs:element minOccurs="0" name="FirsTNAME" type="xs:string"/>
                  <xs:element minOccurs="0" name="LASTNAME" type="xs:string"/>
                  <xs:element minOccurs="0" name="dob" type="xs:string"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:choice> 
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="ReturnMessage" nillable="true" type="xs:string"/>
      <xs:element minOccurs="0" name="Status" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RespondData" nillable="true" type="tns:RespondData"/>
</xs:schema>

通过将 NewDataSet 子句替换为单个元素(),但我无法让我的 IICS 应用程序解析各个字段和行。没有错误,但没有从 Table1 部分​​返回任何数据。我确定我错过了一些东西。有人可以帮忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)