Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HtmlAgilityPack&;XPath产生两种不同的结果_Xpath_Html Agility Pack - Fatal编程技术网

HtmlAgilityPack&;XPath产生两种不同的结果

HtmlAgilityPack&;XPath产生两种不同的结果,xpath,html-agility-pack,Xpath,Html Agility Pack,我不明白这段代码在birthdateNode2和birthdateNode3之间有什么区别。 关于本案: 我可以通过“birthdateNode3”获得出生日期。(birthdateNode2为空)。 为什么birthdateNode2和birthdateNode3不指向同一位置? 在另一种情况下,html较旧,结构稍有不同。未指定出生日期。birthdateNode2为空。birthdateNode3点在“p”上,但在下一个上。 由于没有指定生日,为什么或birthdateNode2和bi

我不明白这段代码在birthdateNode2和birthdateNode3之间有什么区别。

  • 关于本案: 我可以通过“birthdateNode3”获得出生日期。(birthdateNode2为空)。
    为什么birthdateNode2和birthdateNode3不指向同一位置?

  • 在另一种情况下,html较旧,结构稍有不同。未指定出生日期。birthdateNode2为空。birthdateNode3点在“p”上,但在下一个上。
    由于没有指定生日,为什么或birthdateNode2和birthdateNode3不为空?

  • 谢谢你的帮助。
    Vincent

    使用
    birthdateNode2
    选择
    li
    元素的子节点,然后从那里向下选择
    p
    元素-因此您总是从
    li
    向下走两个级别(记住
    p
    child::p
    的缩写)。使用
    birthdateNode3
    您只会降低一个级别。

    这是否回答了您的问题?谢谢,现在可以用了:)。我对代码HtmlNode birthdateNode2=rowNode.subjections()做了一些修改。其中(n=>n.InnerText==“né(e)le”).First();HtmlNode birthdateNode3=birthdateNode2.ParentNode.SelectSingleNode(“p”);birthDate=birthdateNode3?.InnerText.Trim();