当前位置: 首页 > 知识库问答 >
问题:

文档根元素“persistence”必须与DOCTYPE根元素“null”匹配。为了坚持。xml JPA

王亮
2023-03-14

我得到以下错误

文档根元素“persistence”必须与DOCTYPE根元素“null”匹配

下面是导致它的XML文件。

 <?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
        http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd" version="2.1">

        <persistence-unit name="my-persistence">
            <description>Persistence Unit</description>
            <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
            <mapping-file>WEB-INF/config/application-context.xml</mapping-file>
            <!--<jar-file>packedEntity.jar</jar-file>-->
            <class>domain.Applicant</class>
            <class>testScrEntry</class>
            <properties>
                <property name="javax.persistence.jdbc.url" value="oracle.jdbc.OracleDriver"/>
                <property name="javax.persistence.jdbc.user" value="user"/>
                <property name="javax.persistence.jdbc.password" value="password"/>
            </properties>
        </persistence-unit>

    </persistence>

堆栈痕迹

 o.s.w.c.s.XmlWebApplicationContext WARN: Exception encountered during 
 context initialization - cancelling refresh attempt: 
 org.springframework.beans.factory.BeanDefinitionStoreException: Failed 
 to parse configuration class [configuration.JpaConfiguration]; nested 
 exception is java.util.InvalidPropertiesFormatException:  
 org.xml.sax.SAXParseException: Document root element "persistence", must     
 match DOCTYPE root "`null"

当然,我在谷歌上搜索了错误,它告诉我添加我所做的,它看起来像:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE persistence PUBLIC xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
 http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">

    <persistence-unit name="my-pu">
        <description>Persistence Unit</description>
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <!--<mapping-file>application-context.xml</mapping-file>-->
        <!--<jar-file>packedEntity.jar</jar-file>-->
        <class>domain.Applicant</class>
        <class>applicant.testScrEntry</class>
        <properties>
            <property name="javax.persistence.jdbc.url" value="oracle.jdbc.OracleDriver"/>
            <property name="javax.persistence.jdbc.user" value="user"/>
            <property name="javax.persistence.jdbc.password" value="password"/>
        </properties>
    </persistence-unit>

</persistence>

然而,上面也没有说文件必须以

公共标识符必须以单引号或双引号字符开头

---------------------更新1------------------------------

我已经尝试过了:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE persistence PUBLIC
        "http://xmlns.jcp.org/xml/ns/persistence"
        "http://www.w3.org/2001/XMLSchema-instance"
        "http://xmlns.jcp.org/xml/ns/persistence
        http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd" version="2.1">

错误::org.xml.sax.SAXParseExcture:公共标识符必须以单引号或双引号字符开头。

<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
             http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
             version="2.1">

错误:文档根元素“persistence”必须与DOCTYPE root“null”匹配

<?xml version="1.0" encoding="UTF-8" ?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

文档根元素"持久性",必须匹配DOCTYPE根"null"。


共有1个答案

薄高懿
2023-03-14

您的第二个“XML”文档是XSD和DTD结构的混乱,最终结果是一个根本不是XML的文档——格式不好,更不用说有效了。

您的第一个XML文档对通过@schemaLocation声明的XSD有效。错误消息是基于DTD的,而不是基于XSD的。根据@schemaLocation中暗示的XSD解析它,您就可以了。

 类似资料:
  • 问题内容: 我在第9行的我的activity_main.xml中收到此错误,我不知道为什么需要帮助。 问题答案: 基本上,它说 整个XML 文件只能有 一个根元素 。您显示的xml片段看起来不完整。只需确保XML文件只有一个根元素,其余的都是该根元素的子元素。希望这可以帮助。如果没有,请发布完整的XML文件,以帮助我们更好地工作。 更新资料 在上面显示的代码中,您有两个根元素。应该只有一个。因此(

  • 我只是散播错误,但主要错误仍然存在:(仍然没有解决方案 C:\magicsaloons\app\src\main\res\libs\YouTubeAndroidPlayerApi.jar:1:2:错误:根元素前面的文档中的标记必须格式正确。:app:MergeDebugResources失败 失败:生成失败,出现异常。 > 错误:任务“:app:MergedebugResources”执行失败。

  • HTML文档的根元素是 html 元素,从 <html> 标签开始,到 </html> 标签结束。根元素的作用就是告诉浏览器,在 <html> 和 </html> 之间的内容是HTML类型,浏览器便按HTML进行解析其中的内容。 html 元素有两个属性,分别是 lang属性和 manifest 属性: lang属性指定页面内容所使用的默认语言。指定文档所使用的语言,有助于语言合成工具选择发音语言

  • 问题内容: 我是angularJs的新手。我正在尝试创建包含输入元素和按钮的新指令。我想使用此指令在单击按钮时清除输入文本。 当我在html中使用指令时,出现以下错误: 的HTML: clearable_input.js: 我无法弄清楚如何实现这一目标。 问题答案: 好吧,这个错误是不言自明的。您的模板需要具有一个根,而您的必须具有两个根。解决此问题的最简单方法是将整个内容包装在a 或a中: 之前

  • 问题:这是我的XMLfile.on第6行我得到错误“元素类型的内容”属性“必须匹配”(描述?,元*,(bean|ref|idref|value|null|list|set|map|props)?)".".

  • 在某个地方,我读到6.3.1版本比6.2.2版本包含了额外的属性。最初我使用6.3.1,但后来我将其改为6.2.2,但是每当我试图从jrxml组件中删除“UUID”属性时,它会在保存文件时自动返回。 到底是什么问题,我该怎么办?请任何人帮助我从这个贾斯珀报道!!!!!:(

  • 我有以下简单的代码: 我得到了这个错误: "必须返回有效的React元素(或null)。您可能已返回未定义、数组或其他无效对象。"