我对xml很新,所以请原谅我愚蠢的问题。 我有这样的架构
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="Product">
<xs:complexType>
<xs:sequence>
<xs:element name= "name" type = "xs:string"/>
<xs:element name= "price" type = "xs:decimal"/>
<xs:element name= "Fish">
<xs:complexType>
<xs:sequence>
<xs:element name= "Type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="herbivourus"/>
<xs:enumeration value="predator"/>
<xs:enumeration value="detritophages"/>
<xs:enumeration value="omnivourus"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Clown">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="Character" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Slow"/>
<xs:enumeration value="Quiet"/>
<xs:enumeration value="Fearful"/>
<xs:enumeration value="Motile"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Agressiveness">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="HIGH"/>
<xs:enumeration value="MEDIUM"/>
<xs:enumeration value="LOW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="gotSpikes" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Lionfish">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="gotSpikes" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Triggerfish">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="needsHideout" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Trumpetfish">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="gregarious" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Yellow_boxfish">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="gregarious" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reptile">
<xs:complexType>
<xs:sequence>
<xs:element name="compatibleWithFish" type= "xs:boolean"/>
<xs:element name="needsLand" type= "xs:boolean"/>
<xs:element name="turtle">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="gregarious" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="decoration">
<xs:complexType>
<xs:sequence>
<xs:element name="size" type= "xs:int"/>
<xs:element name="alga">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="doesGetsOxygen" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="castle">
<xs:complexType>
<xs:sequence>
<xs:element name="serialVersionUID" type="xs:long"/>
<xs:element name="isHideOut" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
实际上是我的xml
<?xml version="1.0" encoding="UTF-8"?>
xsi:schemaLocation="tank.xsd">
<Product>
<<Fish>
<Clown name = "Clown">
<serialVersionUID>
-7114819146190513293L
</serialVersionUID>
<Character>QUIET</Character>
<Aggressiveness>LOW</Aggressiveness>
<gotSpikes>false</gotSpikes>
<type> herbivourus</type>
<price> 51000 </price>
</Clown>
<Lionfish>
<serialVersionUID>
5302423581237004299L
</serialVersionUID>
<price>25000</price>
<name> Lionfish </name>
<type> herbivourus</type>
<gotSpikes>true</gotSpikes>
</Lionfish>
<Triggerfish>
<serialVersionUID>
4102072582518577014L
</serialVersionUID>
<price>27000</price>
<name> Triggerfish </name>
<type> herbivourus</type>
<needsHideout>true</needsHideout>
</Triggerfish>
<Trumpetfish>
<serialVersionUID>
-6802935171639886135L
</serialVersionUID>
<price>34500</price>
<name> Trumpetfish </name>
<type> herbivourus</type>
<gregarious> true</gregarious>
</Trumpetfish>
<Yellow_boxfish>
<serialVersionUID>
4377441012026861992L
</serialVersionUID>
<price>56900</price>
<name> Yellow_boxfish </name>
<type> herbivourus</type>
<gregarious> true</gregarious>
</Yellow_boxfish>
</Fish>
<Reptile>
<Turtle>
<serialVersionUID>
-3606085842515781016L
</serialVersionUID>
<price>129000</price>
<name> Turtle </name>
<compatibleWithFish> true</compatibleWithFish>
<needsLand>true</needsLand>
<gregarious> true </gregarious>
</Turtle>
</Reptile>
<Decoration>
<Alga>
<serialVersionUID>
-4311096533955485410L
</serialVersionUID>
<price>15000</price>
<name> alga </name>
<doesGetOxygen> true</doesGetOxygen>
</Alga>
<Castle>
<serialVersionUID>
1L
</serialVersionUID>
<price>110300</price>
<name> Castle </name>
<ishideout> true</ishideout>
</Castle>
</Decoration>
</Product>
另外顺便说一下,我有这样一个类层次结构
P.S。我需要在xsd中显示一个类的层次结构,并且基类是产品类,所有子项都有一个字段名称和价格,所以我不确定它在我的模式中是否正确显示:C和btw然后我去实例化这个类
答案 0 :(得分:-1)
因为您没有正确配置根元素,所以正确的配置很重要
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<root>
Paste your code here
</root>
按照此示例中的建议粘贴代码。所以无论它是什么,都要在你的root子句中粘贴你的代码。然后错误将被缩短。