<xsd:element name="loginResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="loginReturn" type="tns:test"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="test">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="tx" type="xsd:int"/>
<xsd:element minOccurs="0" maxOccurs="1" name="result" type="xsd:int"/>
<xsd:element minOccurs="0" maxOccurs="1" name="name_space" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
我只想问为什么使用tns:test
类型?如何在complextype name =“test”中获取tx,result,namespace值,因为这是基于他们给我的api得到的响应。
答案 0 :(得分:0)
tns
是目标名称空间前缀,应在WSDL或XSD文件(包括test
)的顶部定义。
您没有写过如何访问这些值,但我认为您的代码在不同的命名空间中工作,因此无法识别test
。很可能有一种方法允许您按元素名称和名称空间获取值。请注意,在这种情况下,命名空间不是tns
,而是在源文件顶部定义的URL。
如果您不熟悉名称空间:每个XML元素都与命名空间相关联,就像Java中的类是包的一部分一样。在XML中没有import
语句,因此您必须按名称和名称空间命名元素。为了使文件可读,您可以定义名称空间前缀(可能是缩写)。