使用 HTML Agility Pack,我正在尝试使用 XPATH 选择 XHTML 中的节点。我想在每个 p 标签中选择我在下面列出的孩子,而不是孙子:
<strike></strike>
<em></em>
<u></u>
<strong></strong>
<sub></sub>
<sup></sup>
换句话说,我正在寻找A和B,但不是任何一个节点的第二级。同时,可以在集合中的任何位置找到A或B节点。注意:A或B可以是我上面列出的任何一个。
如果我有以下 XHTML:
<?xml version='1.0' encoding='utf-8'?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta name="generator" content="HTML Tidy for Windows (vers 25 March 2009), see www.w3.org" />
<title></title>
</head>
<body>
<p><strike>element 1</strike> and <strike><em>element 2</em></strike></p>
<p><strike>element 3</strike></p>
<p><strike>element 4</strike></p>
</body>
</html>
如果我可以在每个 p 标记中选择上面列出的子节点,它将返回以下节点集合:strike、strike、strike 和strike。让我接触到每次罢工的孩子。
<strike>element 1</strike> and <strike><em>element 2</em></strike>
XPATH 中的第一个表示 sub [1]
(我的意思是罢工的实例),第二个被忽略的是 sub [2]
(我的意思是罢工的实例)。这是有道理的,因为这就是我的查询正在做的事情。然后 XPATH 抓取<em>
标签等等......
我可以解释这一点的另一种方式是说我想要//a|//b|//c|//d|//e
而不是孩子。这可能吗?
最后,这让我对如何找到解决方案感到困惑。
我在MSDN上寻找关于 XPATH 的答案。
如果您需要进一步的研究或信息,请告诉我。我会提供的。