使用 XPATH 按 ID 搜索 HTML 文档 returns 错误结果
Searching HTML document by ID using XPATH returns wrong result
所以,id 想从第 200 行获取这个元素
<p id="Para">Hello, how are you.</p>
为此,我使用 XPATH
HtmlDoc.DocumentNode.SelectSingleNode("//*[contains(@id,'Para')]")
但是,返回的节点不是我要查找的节点,而是在第 10 行获取它之前的一个元素
<p id="ParaInstruction">Click here to begin</p>
我认为这是因为 id 有共同的前 4 个字符,所以它得到它可以找到的第一个。如何确保返回的节点仅具有 XPATH 中指定的字符。
改变
//*[contains(@id,'Para')]
到
//*[@id='Para']
避免匹配每个 @id
包含 一个 "Para"
substring 的元素,这就是 contains()
确实 -- 测试子字符串包含。
所以,id 想从第 200 行获取这个元素
<p id="Para">Hello, how are you.</p>
为此,我使用 XPATH
HtmlDoc.DocumentNode.SelectSingleNode("//*[contains(@id,'Para')]")
但是,返回的节点不是我要查找的节点,而是在第 10 行获取它之前的一个元素
<p id="ParaInstruction">Click here to begin</p>
我认为这是因为 id 有共同的前 4 个字符,所以它得到它可以找到的第一个。如何确保返回的节点仅具有 XPATH 中指定的字符。
改变
//*[contains(@id,'Para')]
到
//*[@id='Para']
避免匹配每个 @id
包含 一个 "Para"
substring 的元素,这就是 contains()
确实 -- 测试子字符串包含。