= 10 and positi-6ren">
gpt4 book ai didi

c# - 带有 XPath 的 HtmlAgilityPack - 检索不包含的节点

转载 作者:行者123 更新时间:2023-11-28 02:16:27 24 4
gpt4 key购买 nike

我正在尝试使用 C# 中的 HtmlAgilityPack 检索选定数量的包含值 (空格)的元素。这是我的 XPath 表达式:

"(td)[(position() >= 10 and position() <= last()) and not(.='&nbsp;')]"

但它仍然给我这些节点,我尝试使用文字空间,  ALT + 1060 - 似乎没有任何效果。这是我正在解析的内容:

 <tr height=20 style='mso-height-source:userset;height:15.0pt'>
<td height=20 class=xl96 style='height:15.0pt'>&nbsp;</td>
<td class=xl97>&nbsp;</td>
<td class=xl106 style='border-top:none'>JIM COCKS</td>
<td class=xl107 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl107 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl107 style='border-top:none;border-left:none'>HOL</td>
<td class=xl76>&nbsp;</td>
<td class=xl103 style='border-left:none'>&nbsp;</td>
<td class=xl97>&nbsp;</td>
<td class=xl104 style='border-top:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>09:30</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>17:00</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl104 style='border-top:none;border-left:none'>&nbsp;</td>
<td class=xl76>&nbsp;</td>
</tr>

类为“xl104”的项目是我想要抓取的(我已经在它们的类发生变化时使用位置语句完成了此操作)但我只想要包含   以外的内容的节点,例如您在上面看到的 09:30 和 17:00。

最佳答案

"(td)[(position() >= 10 and position() <= last()) and not(.='&nbsp;')]" 

不是(.=' ')

测试整个 text() 节点不是字符串 ' '

您想使用 XPath contains() 函数:

not(contains(., '&#xA0;'))

关于c# - 带有 XPath 的 HtmlAgilityPack - 检索不包含的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com