我必须为我的 xsd 手写一个示例 xml,但我总是收到无效消息:cvc-elt.1.a:找不到元素“RS_WMS_GET_PO_DATA_v2.0”的声明。
我的 XSD:
<?xml version="1.0" encoding="utf-16"?>
<schema xmlns:ns0="http://www.rossinc.com/" xmlns:msbtsdml="http://schemas.rossinc.com/BizTalk" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.rossinc.com/" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<msbtsdml:StoredProcedureName xmlns:msbtsdml="http://schemas.rossinc.com/BizTalk/DMLAdapter">RS_WMS_GET_PO_DATA</msbtsdml:StoredProcedureName>
<msbtsdml:ResponseRootName xmlns:msbtsdml="http://schemas.rossinc.com/BizTalk/DMLAdapter">poData</msbtsdml:ResponseRootName>
</appinfo>
</annotation>
<element name="RS_WMS_GET_PO_DATA_v2.0">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="Parameters">
<complexType>
<sequence>
<element default="0" name="ERROR_OCCURRED" type="string">
<annotation>
<appinfo>
<msbtsdml:ParamDir xmlns:msbtsdml="http://schemas.microsoft.com/BizTalk/2003">In</msbtsdml:ParamDir>
</appinfo>
</annotation>
</element>
<element default="1" name="XML_TAGS" type="int">
<annotation>
<appinfo>
<msbtsdml:ParamDir xmlns:msbtsdml="http://schemas.microsoft.com/BizTalk/2003">In</msbtsdml:ParamDir>
</appinfo>
</annotation>
</element>
<element default="0" name="NUM_ROWS" type="int">
<annotation>
<appinfo>
<msbtsdml:ParamDir xmlns:msbtsdml="http://schemas.microsoft.com/BizTalk/2003">In</msbtsdml:ParamDir>
</appinfo>
</annotation>
</element>
</sequence>
</complexType>
</element>
<element name="RS_WMS_GET_PO_DATA">
<complexType>
<all minOccurs="1" maxOccurs="1">
<element name="COMPANY_CODE" type="string" />
<element name="DIVISION" type="string" />
<element name="PO_NUMBER" type="string" />
<element name="PO_WH_SEQUENCE" type="string" />
<element name="ERP_ACTION_CODE" type="string" />
</all>
</complexType>
</element>
<element name="DMLAdapterConfig">
<complexType>
<sequence>
<element name="EnvironmentId" type="string" />
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
我的 XML:
<?xml version="1.0" encoding="UTF-8"?>
<RS_WMS_GET_PO_DATA_v2.0>
<Parameters>
<ERROR_OCCURRED>0</ERROR_OCCURRED>
<XML_TAGS>1</XML_TAGS>
<NUM_ROWS>0</NUM_ROWS>
</Parameters>
<RS_WMS_GET_PO_DATA>
<COMPANY_CODE></COMPANY_CODE>
<DIVISION></DIVISION>
<PO_NUMBER></PO_NUMBER>
<PO_WH_SEQUENCE></PO_WH_SEQUENCE>
<ERP_ACTION_CODE></ERP_ACTION_CODE>
</RS_WMS_GET_PO_DATA>
<DMLAdapterConfig>
<EnvironmentId></EnvironmentId>
</DMLAdapterConfig>
</RS_WMS_GET_PO_DATA_v2.0>
有什么想法吗?
这是我正在使用的网站: http://www.corefiling.com/opensource/schemaValidate.html
最佳答案
<?xml version="1.0" encoding="UTF-8"?>
<ns0:RS_WMS_GET_PO_DATA_v2.0 xmlns:ns0="http://www.rossinc.com/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.rossinc.com/ One.xsd ">
<ns0:Parameters>
<ns0:ERROR_OCCURRED>0</ns0:ERROR_OCCURRED>
<ns0:XML_TAGS>1</ns0:XML_TAGS>
<ns0:NUM_ROWS>0</ns0:NUM_ROWS>
</ns0:Parameters>
<ns0:RS_WMS_GET_PO_DATA>
<ns0:COMPANY_CODE>ns0:COMPANY_CODE</ns0:COMPANY_CODE>
<ns0:DIVISION>ns0:DIVISION</ns0:DIVISION>
<ns0:PO_NUMBER>ns0:PO_NUMBER</ns0:PO_NUMBER>
<ns0:PO_WH_SEQUENCE>ns0:PO_WH_SEQUENCE</ns0:PO_WH_SEQUENCE>
<ns0:ERP_ACTION_CODE>ns0:ERP_ACTION_CODE</ns0:ERP_ACTION_CODE>
</ns0:RS_WMS_GET_PO_DATA>
<ns0:DMLAdapterConfig>
<ns0:EnvironmentId>ns0:EnvironmentId</ns0:EnvironmentId>
</ns0:DMLAdapterConfig>
</ns0:RS_WMS_GET_PO_DATA_v2.0>
因为您没有提到该 XML 文件使用哪个架构文件。我认为这会解决您的问题。
关于xml - cvc-elt.1.a : Cannot find the declaration of element 'xxx' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16436577/