0

我需要小。我很难将手动 xml 模式映射到简单的 xml 结构。任何一位 xml 专家都可以在 2 分钟内解决我的问题,相信我可以挽救我的生命。

这是 xsd 中的架构。

https://rapidshare.com/files/688147446/schema.zip

import_customers_request.xsd文件中,我们有这个元素

<xs:element name="customer" type="COCustomerDetail" minOccurs="0" maxOccurs="unbounded"/>

在文件coTypes.xsd中有详细信息

我对 xml 不太擅长,所以到目前为止我发现的是跟随 xml 结构。

<import_customers_request schemaVersion="5.5">

    <customers>

    <customer>
    <useBillingCodeIdentifier>false</useBillingCodeIdentifier>
    <useShippingCodeIdentifier>false</useShippingCodeIdentifier>
    <companyName>Tech Max</companyName>
    <contact>

    <firstName>Sohaib</firstName>
    <lastName>Rajpoot</lastName>
    <email>suhaibpucit\@yahoo.com</email>

    </contact>
    </customer>
    </customers>
    </import_customers_request>

现在我只想要两个领域。

  1. 地址
  2. 密码

能否请您改进这个结构,并为这些领域提供良好的位置。我将非常感谢您的时间和帮助。

4

2 回答 2

2

在更改之前,您可以考虑检查您的信息中已有的内容。我这么说只是因为你可能在你的“发现”中忽略了一些内容。检查文档是个好主意,以便含义匹配...

密码:

密码

地址信息似乎以 addressLine1 开头,然后是更多字段。

地址

无论如何,如果您想修改 XSD,我建议保持一致。例如,这是您在 XSD 中用作密码的模型:

<xs:element name="password" minOccurs="0">
    <xs:annotation>
        <xs:documentation> password is of course mandatory on any request message it may not be echoed on responses </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:minLength value="3"/>
            <xs:maxLength value="20"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>

始终建议使用工具来分析和可视化 XSD。例如,遍历所有 XSD,您可以搜索诸如addrpassw之类的模式。

在 QTAssistant XSR 中查找 XSD 内容

然后“放大” COAddress 的使用可能会产生它在各种组件中的使用,以及它们与全局内容(根元素、类型等)的关系;在这里你可以看到它追溯到你的根元素。

XSD 依赖关系图

于 2012-04-24T18:33:22.033 回答
1

要将密码添加为最大长度为 80 的字符串,表示为一个元素:

<xs:complexType name="COCustomer">
  <xs:complexContent>
     <xs:extension base="COAddress">
        <xs:sequence>
           <xs:element name="password">
             <xs:simpleType>
                <xs:restriction base="xs:string">
                   <xs:maxLenght value="80"/>
                </xs:restriction>
              <xs:simpleType/>
           </xs:element>
     . . . .

在这种情况下,它将是其中的第一个元素customer- 您当然可以将其向下移动。

将地址添加到COContact. . .

于 2012-04-24T18:00:02.340 回答