【问题标题】:Can we extract the contents of !DOCTYPE declaration using XPATH?我们可以使用 XPATH 提取 !DOCTYPE 声明的内容吗?
【发布时间】:2020-02-21 11:45:19
【问题描述】:

我有下面的示例 XML,我想使用 Xpath 从中提取 DOCTYPE。这可能吗?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

据我所知,Xpath 仅适用于元素和属性,而不适用于 prolog / doctype,只是想确认一下。

【问题讨论】:

    标签: doctype xpath-2.0


    【解决方案1】:

    据我了解 Xpath,它适用于表示 xml 的节点树,但它本身不是 xml。节点树将始终将根元素作为第一个节点,不包括文档根。因此,在您的示例中,“注释”将是要采取的行动。解析 xml 时,此节点之前的所有内容都会被丢弃。

    所以不,文档类型无法通过 xpath 访问。

    【讨论】:

    • 你说得对,文档类型不能用 Xpath 读取,但并不是根节点之前的所有内容都被丢弃。你无法阅读
    • 在我最初的评论中太慢了:你是对的,文档类型不能用 Xpath 读取,但并不是根节点之前的所有内容都被丢弃。您无法读取 doctype 和 xml 声明,但您可以读取根节点之前发生的 cmets 和处理指令。在这里没有帮助,只是一个澄清。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2022-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多