微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决需要一个 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 举报,一经查实,本站将立刻删除。