0
<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、结果、命名空间值,因为这是我应该根据他们给我的 api 得到的响应。

4

1 回答 1

0

tns是目标名称空间前缀,它应该定义在您的 WSDL 或 XSD 文件(包括test)的顶部。

您没有写出如何访问这些值,但我假设您的代码在不同的命名空间中工作,因此test无法识别。很可能有一种方法允许您通过元素名称和命名空间获取值。请注意,在这种情况下,命名空间不是tns在源文件顶部定义的 URL,而是 URL。

如果您不熟悉命名空间:每个 XML 元素都与一个命名空间相关联,就像 Java 中的类是包的一部分一样。在 XML 中没有import声明,因此您必须按名称和命名空间来命名元素。为了保持文件可读,您可以定义命名空间前缀(可能是缩写)。

于 2013-02-22T11:03:03.537 回答