java - XML错误: Open quote is expected for attribute id associated with an element type

标签 java xml sax parseexception

我正在尝试解析如下所示的 XML 文件:

<?xml version="1.0"?>
<!DOCTYPE COUNTRIES_CONTINENT PUBLIC 
           "-//XYZ//DTD Declarations(CountriesContinent)//EN" "dtds/countries_continent.dtd">
<COUNTRIES_CONTINENT>
   <CONTINENT id="6" name="Oceania" value="12">
       <COUNTRY name="Argentina"/>
       <COUNTRY name="Bolivia"/>
       <COUNTRY name="Brazil"/>
       <COUNTRY name="Chile"/>
        <COUNTRY name="Colombia"/>
        <COUNTRY name="Ecuador"/>
        <COUNTRY name="Guyana"/>
        <COUNTRY name="Paraguay"/>
        <COUNTRY name="Peru"/>
        <COUNTRY name="Suriname"/>
        <COUNTRY name="Uruguay"/>
        <COUNTRY name="Venezuela"/>
    </CONTINENT>
</COUNTRIES_CONTINENT>

具有以下 DTD 文件:

<!ELEMENT COUNTRIES_CONTINENT (CONTINENT+)>
<!ELEMENT CONTINENT (COUNTRY+)>
<!ELEMENT COUNTRY EMPTY>
<!ATTLIST CONTINENT id  CDATA  ID #REQUIRED>
<!ATTLIST CONTINENT name  CDATA #REQUIRED>
<!ATTLIST CONTINENT value CDATA #REQUIRED>
<!ATTLIST COUNTRY   name CDATA #REQUIRED>

我遇到以下异常:

Open quote is expected for the attribute "id" associated with an element type "CONTINENT".

谁能指出出了什么问题吗?

最佳答案

<!ATTLIST CONTINENT id  CDATA  ID #REQUIRED>

属性类型可以是CDATAID,但不能同时是两者。这些类型中的每一种都有其自己的规则,描述它们允许包含的值的范围。请检查您期望的 id 类型。

参见http://www.w3schools.com/xml/xml_dtd_attributes.asp

关于java - XML错误: Open quote is expected for attribute id associated with an element type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38039692/

相关文章:

excel - 读取 XLSX 文件并将数据存储在 Grails 中的有效方法

java - 创建具有偏移重叠的多个 JFrame

xml - 一系列值的 XSD 枚举

ios - 如何使用 swift 创建文字 XML 字符串

java - 在Java中通过行号和行位置检索XML节点

java - 使用默认 sax 解析器时,jaxb unmarshal 会被精心制作的 xml 滥用吗?

java - List<Dog> 是 List<Animal> 的子类吗?为什么 Java 泛型不是隐式多态的?

java - spring-mvc - 未找到带有 URI 的 HTTP 请求的映射

java - arquillian 中的 “IllegalStateException: Could not find backup for factory javax.faces.context.FacesContextFactory”

c++ - 通过名称获取属性值