我正在尝试按照this tutorial学习Spring。我使用IntelliJ在src文件夹的根目录下创建了一个spring.xml文件。但是我收到了以下错误:
我的XML有什么问题?怎么解决?谢谢!
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties/>
<beans>
<bean id="triangle">
</bean>
</beans>
将xml文件更改为以下内容后仍然出现错误:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE beans SYSTEM "http://java.sun.com/dtd/properties.dtd">
<beans>
<bean id="triangle">
</bean>
</beans>
我将代码更改为以下内容后,xml是正确的,但我收到了java编译错误:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE beans SYSTEM "http://java.sun.com/dtd/beans.dtd">
<beans>
<bean id="triangle">
</bean>
</beans>
错误消息是: 来自文件[/Users/nick/testProj/gs-rest-service/initial/src/main/spring.xml]的XML文档中的第2行无效;嵌套异常是org.xml.sax.SAXParseException; lineNumber:2;
将xml更改为以下内容后,我仍然遇到Java编译器错误:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- A simple bean definition -->
<bean id="triangle" class="no class">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
答案 0 :(得分:4)
格式良好的XML文档只有一个直接或间接包含所有其他元素的“根元素”。您的XML有两个元素,两个元素都不包含另一个元素:一个<properties>
元素和一个<beans>
元素。前者是空的是无关紧要的。
如果您正在尝试为Spring webmvc-context.xml
编写XML,则根元素应为<beans>
。
我不确定<properties/>
元素应该做什么,DOCTYPE
声明非常可疑。我希望根元素引用适当的模式而不是包含DOCTYPE声明的文档,如果引用了DOCTYPE,那么给定的那个似乎不太可能是正确的。