首页 > 开发 > XML > 正文

19.10.从Web服务中把XML译码成为强类型对象

2024-09-05 20:46:52
字体:
来源:转载
供稿:网友
19.10.1. 问题
如何将一个XML 或XMLList 对象转换成一个或多个强类型的对象。
19.10.2. 解决办法
通过使用限定命名空间及SimpleXMLDecoder 类把XML 译码成对象, 然后使用chemaTypeRegistry.registerClass 方法对类进行注册。
19.10.3. 讨论
SchemaTypeRegistry.registerClass 可以让你注册一个类型为由Web 服务所返回的类。这个类一定要在WSDL 文件被描述, 而有关的方法及类型亦会在该文件中被描述。例如, 一个名为”Plant”的对象的所有属性定义为:
+展开
-XML
<types>
<xsd:schema targetNamespace="http://localhost/ns/ws
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:complexType name="Plant">
<xsd:sequence>
<xsd:element maxOccurs="1minOccurs="1name="commonnillable="truetype="xsd:string"/>
<xsd:element maxOccurs="1minOccurs="1name="botanicalnillable="truetype="xsd:string"/>
<xsd:element maxOccurs="1minOccurs="1name="zonenillable="truetype="xsd:string"/>
<xsd:element maxOccurs="1minOccurs="1name="lightnillable="truetype="xsd:string"/>
<xsd:element maxOccurs="1minOccurs="1name="pricenillable="truetype="xsd:string"/>
<xsd:element maxOccurs="1minOccurs="1name="availabilitynillable="truetype="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表