XPath主要用于Html、XML或XHTML吗?

7

我完全不了解XPath概念,只有很基本的理解。我开始使用XPath来查找HTML页面上的网页元素。

现在,在搜索网络(视频和文本)时,我发现所有的XPath教程都与XML相关(而不是HTML页面)。

维基百科说:

XPath(XML路径语言)是一种用于从XML文档中选择节点的查询语言。

这让我感到困惑。

  1. XPath不用于HTML文档吗?
  2. 编写HTML、XML、XHTML的XPath是否存在基本/结构性差异?

请注意,我知道这个问题水平很低,但只是因为我非常困惑才在这里提问。


2
请查看https://dev59.com/CXTYa4cB1Zd3GeqPu3IB。 - Max Toro
XPath 3.1 同时支持 JSON。 - Alohci
1个回答

4
你有权感到困惑。
XPath针对的是一个数据模型,该模型通常假定标记是格式良好的。按定义,XML和XHTML必须是格式良好的;HTML则不一定。但是,HTML解析器通常可以成功地解析非格式良好的标记,并将其转换为适用于XPath的数据模型,以接受输入的宽容精神。
因此,通常也可以使用XPath处理HTML。实际上,这是一种常见的网页抓取技术。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接