1

所以我正在尝试构建一个 Web 服务来验证来自 Schema 的 XML。我的问题如下:当我使用这个 XML 时:

<?xml version="1.0" encoding="utf-8"?>
<!--Creat la data 5/13/2007 2:15:00 PM-->
<ListaCase xmlns="ListHNS-schema">
<Casa strada="florilor">
 <nr>Sgt. Pepper's Lonely Hearts</nr>
<cod>The Beatles</cod>
<oras>Teora</oras>
<tara>1967</tara>
 </Casa>
 <Casa strada="teilor">
<nr>Dark Side Of The Moon</nr>
<cod>Pink Floyd</cod>
<oras>Corint</oras>
<tara>1973</tara>

针对此架构:

<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified"      version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsd:element name="ListaCase">
 <xsd:complexType>
  <xsd:sequence>
    <xsd:element name="Casa">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element name="nr" type="xsd:string" />
          <xsd:element name="cod" type="xsd:string" />
          <xsd:element name="oras" type="xsd:string" />
          <xsd:element name="tara" type="xsd:int" />
        </xsd:sequence>
        <xsd:attribute name="strada" type="xsd:string" />
      </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
 </xsd:schema>

我的 Visual Studio 说他找不到架构。但是当我使用另一个模式和另一个 XML 时,一切正常。有谁知道问题是什么?

4

2 回答 2

1

可能是因为不同的 XML 字符编码?首先是UTF8,其次是UTF16。

于 2012-09-20T07:11:49.760 回答
1

我改变了你的架构:

<?xml version="1.0" encoding="utf-16"?>
<xsd:schema 
attributeFormDefault="unqualified" 
elementFormDefault="qualified"      
version="1.0" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsd:element name="ListaCase">
 <xsd:complexType>
  <xsd:sequence>
    <xsd:element name="Casa" maxOccurs="unbounded">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element name="nr" type="xsd:string" />
          <xsd:element name="cod" type="xsd:string" />
          <xsd:element name="oras" type="xsd:string" />
          <xsd:element name="tara" type="xsd:int" />
        </xsd:sequence>
        <xsd:attribute name="strada" type="xsd:string" />
      </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
 </xsd:schema>

请注意 maxOccurs="unbounded"属性

<xsd:element name="Casa">
于 2012-09-20T07:20:02.787 回答