Ruby on rails 为什么我的XML无法添加多个标记?
我在RubyonRails代码中创建了XML,并使用带有UTF-16编码的XSD对其进行了验证 在XML中,当我插入一个名称时,它可以工作,但对于多个名称,它会引发一个错误:Ruby on rails 为什么我的XML无法添加多个标记?,ruby-on-rails,ruby,xml,xsd,Ruby On Rails,Ruby,Xml,Xsd,我在RubyonRails代码中创建了XML,并使用带有UTF-16编码的XSD对其进行了验证 在XML中,当我插入一个名称时,它可以工作,但对于多个名称,它会引发一个错误: <city> <groups> <name></name> </groups>...........It's working fine </city> <city> <groups>
<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."
您的XSD不允许使用多个名称 尝试改变
到
您能发布代码和完整的错误详细信息吗?当您尝试使用XSD或在其他点进行验证时,它是否失败了?看起来XSD可能不允许在
下有多个
元素。谢谢@xing,但我没有更改XSD的权限。有没有办法用现有的XSD生成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?
}