元素类型的内容"属性"必须匹配

时间:2016-03-21 07:20:33

标签: java xml spring

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
     <bean id="triangle" class="bean.Trinangle">
         <property name="points">
             <list>
                 <ref bean="point1"/>
                 <ref bean="point2"/>
                 <ref bean="point3"/>
             </list>
         </property>
     </bean>

     <bean id= "point1" class="bean.Point">
         <property name="x" value="10"/>
         <property name="y" value="20"/>
     </bean>

     <bean id= "point2" class="bean.Point">
         <property name="x" value="10"/>
         <property name="y" value="20"/>
     </bean>

     <bean id= "point3" class="bean.Point">
         <property name="x" value="10"/>
         <property name="y" value="20"/>
     </bean>
</beans>              

问题: 这是我的XML文件。在第6行我得到错误&#34;他的元素类型的内容&#34;属性&#34;必须匹配&#34;(描述?,meta *,(bean | ref | idref | value | null | list | set | map |  道具))&#34;&#34;

2 个答案:

答案 0 :(得分:0)

我认为你实际上并没有创建一个List(如果setPoints的预期)。尝试这样的事情(取自How to define a List bean in Spring?):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">


 <beans>

 <bean id= "point1" class="bean.Point">
   <property name="x" value="10"/>
   <property name="y" value="20"/>
 </bean>
 <bean id= "point2" class="bean.Point">
   <property name="x" value="10"/>
   <property name="y" value="20"/>
 </bean>
 <bean id= "point3" class="bean.Point">
   <property name="x" value="10"/>
   <property name="y" value="20"/>
 </bean>

<util:list id="pointList" value-type="bean.Point">
    <value>point1</value>
    <value>point2</value>
    <value>point3</value>
</util:list>


 <bean id="triangle" class="bean.Trinangle">
   <property name="points" value="pointList" />
 </bean>

 <bean id= "point1" class="bean.Point">
   <property name="x" value="10"/>
   <property name="y" value="20"/>
 </bean>
 <bean id= "point2" class="bean.Point">
   <property name="x" value="10"/>
   <property name="y" value="20"/>
 </bean>
 <bean id= "point3" class="bean.Point">
   <property name="x" value="10"/>
   <property name="y" value="20"/>
 </bean>
</beans>

答案 1 :(得分:0)

您的版本与xml版本不匹配,必须在doctype声明下面尝试。

<beans xmlns=" http://www.springframework.org/schema/beans "
       xmlns:xsi=" http://www. W3.org/2001/XMLSchema-instance "
       xmlns:util=" http://www.springframework.org/schema/util "
       xsi:schemaLocation=" http://www.springframework.org/schema/beans
           http:/ /www.springframework.org/schema/beans/spring-beans-3.0.xsd " default-lazy-init="true">