我需要小。我很难将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>
现在我只想要两个字段。
你能否为这些领域改善这个结构。我会非常感谢你的时间和帮助。
答案 0 :(得分: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,您可以搜索 addr 或 passw 等模式。
然后“放大”使用COAddress可能会在各种组件中使用它们,以及它们如何与全局内容(根元素,类型等)相关联;在这里你可以看到它追溯到你的根元素。
答案 1 :(得分: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
添加地址也是如此。 。