0

我在我的 Ruby on Rails 代码中创建了 XML,并使用带有 UTF-16 编码的 XSD 对其进行了验证。

在 XML 中,当我插入一个名称时,它可以工作,但对于多个名称,它会引发错误:

<city>
    <groups>
      <name></name> 
    </groups>...........It's working fine
</city>

<city>    
    <groups>
      <name></name> 
      <name></name>
    </groups>...........It's raise error
<city>

"FAILED: Error: Element 'name': This element is not expected. at :107."

在 XML 中插入多个标签是否有任何限制?

这是我的 XSD:

<?xml version="1.0" encoding="utf-16"?>                              
              <xsd:element name="city">                                           
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="groups">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="name" type="xsd:string" />
                         </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>

这是模型:

 xml.tag!("city"){
              grp = map_groups(city.groups)
              grp.each { |grp_code|
               xml.groups{
                    xml.name("john")
               }
              } unless grp.empty?
             }
4

1 回答 1

1

您的 XSD 不允许多个名称。

尝试更改 <xsd:element name="name" type="xsd:string" /><xsd:element name="name" type="xsd:string" maxOccurs="unbounded"/>

于 2012-10-08T15:43:01.737 回答