Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML—附加到命名空间的数字_Xml_Namespaces - Fatal编程技术网

XML—附加到命名空间的数字

XML—附加到命名空间的数字,xml,namespaces,Xml,Namespaces,下面是一个WSDL: <types> <!—Namespace declaration --> <s:schema elementFormDefault="qualified" targetNamespace="http://KeithPij.org/WSLibrary/MyStore"> <!—Element declaration for PlaceOrder request messages --> <s:element n

下面是一个WSDL:

 <types>
<!—Namespace declaration -->
<s:schema elementFormDefault="qualified" targetNamespace="http://KeithPij.org/WSLibrary/MyStore">

  <!—Element declaration for PlaceOrder request messages -->
  <s:element name="PlaceOrder">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" maxOccurs="1" name="objOrder" type="s0:Order" />
      </s:sequence>
    </s:complexType>
  </s:element>

  <!—Type definition for the Order class -->
  <s:complexType name="Order">
    <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="OrderID" type="s:long" />
      <s:element minOccurs="1" maxOccurs="1" name="ProductID" type="s:long" />
      <s:element minOccurs="0" maxOccurs="1" name="ProductName" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Quantity" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="UnitPrice" type="s:decimal" />
      <s:element minOccurs="1" maxOccurs="1" name="OrderDate" type="s:dateTime" />
    </s:sequence>
  </s:complexType>

  <!—Element declaration for PlaceOrder response messages -->
  <s:element name="PlaceOrderResponse">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" maxOccurs="1" name="PlaceOrderResult" type="s0:Confirm" />
      </s:sequence>
    </s:complexType>
  </s:element>

  <!—Type definition for the Confirm class -->
  <s:complexType name="Confirm">
    <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="OrderID" type="s:long" />
      <s:element minOccurs="0" maxOccurs="1" name="Status" type="s:string" />
    </s:sequence>
  </s:complexType>

  <!—Element declaration for CheckOrder request messages -->
  <s:element name="CheckOrder">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="1" maxOccurs="1" name="nOrderID" type="s:int" />
      </s:sequence>
    </s:complexType>
  </s:element>

  <!—Element declaration for CheckOrder response messages-->
  <s:element name="CheckOrderResponse">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" maxOccurs="1" name="CheckOrderResult" type="s0:Confirm" />
      </s:sequence>
    </s:complexType>
  </s:element>

</s:schema>


请有人解释一下这是什么意思:type=“s0:订单”。如果它是type=“s:Order”编写的,我会理解它,它是在名称空间“s”中声明的类型,但是这个“s0”从何而来?

您做出了错误的假设。未在命名空间“s”中声明类型顺序。从我这里看到的-

<s:schema>
....
    type="s:dateTime"

....
type=“s:dateTime”
“s”是名称空间。自定义定义的类型顺序不可能是此架构的一部分。在顶层(元素)上显示完整的WSDL和声明的名称空间


和s0:表示这是为模式中定义的自定义类型自动生成的标识符。

这似乎不是正确格式的XML(示例代码的开头有一个不匹配的
标记。实际上wsdl是从MSDN网站获取的。。然后您必须下载完整的示例,查看MyStoreSH.wsdl,并发现有一个声明:xmlns:s0=“”。所以这个s0:来自某个地方。但是给出一个部分wsdl,它不清楚它来自哪里。我想你。我被我给出的部分中也声明了顺序类型弄糊涂了。如果它在其他地方声明,那么为什么还要在这里声明它呢?所以名称空间是一个名称空间…s1:顺序不同于s2:顺序。可能用意是s0:中定义的订单类型,而不是当前的订单类型,我记得当前的订单类型应该在没有名称空间的情况下使用-例如type=“Order”。