1

当谈到 XML 和 DTD 值时,我是一个新手,所以如果这是一个简单的问题,或者如果我以错误的方式处理这个问题,请原谅我。您能否像在 XML 中指定属性的路径一样指定 DTD 值?

例如,如果您有以下 XML 文件:

<!DOCTYPE ... SYSTEM "<path_to_file>">
<BOOK>
    <AUTHOR>
        <FIRST>John</FIRST>
        <LAST>Quncy</LAST>
    </AUTHOR>
    <NAME>blah</NAME>
    <DATE>12/23/13</DATE>
</BOOK>

您可以通过路径指定作者的名字:

/BOOK/AUTHOR/FIRST

是否有任何语法可以以相同的方式指定像 DOCTYPE 这样的 DTD 实体?

最终,我想做的是使用已经用 java 编写的内部 XML 解析器来查找我指定的 DTD 条目并将其从 XML 文件中删除。例如,对于上面的 XML,我想指定 DOCTYPE 并将其从 XML 中删除。已经有代码在给定路径的情况下将从 XML 文件中删除该部分。我也想利用它来删除 DTD 条目,但我不知道如何引用它。

4

1 回答 1

2

No.DOCTYPE是一个解析和验证指令。那就是:DOCTYPE并且DTD影响解析和验证,但在此之后不是作为单独实体的文档的一部分。XML 数据模型不包含DOCTYPEDTD定义,并且在文档被解析后它们实际上不存在。

于 2014-01-21T01:10:37.923 回答