【问题标题】:Parsing inconsistent HTML with XPath使用 XPath 解析不一致的 HTML
【发布时间】:2015-05-28 00:04:49
【问题描述】:

我正在尝试从 HTML 不一致的网页中收集信息,例如:

<ul><li>Item #1</li></ul><ul><li>sub Item #1</li></ul> 

没关系,我使用 XPath 表达式

//div[@id="content"]/ul/li/text() 

它完成了这项工作(除了不从子项目 #1 收集信息。,

HTML 也有所不同,这是另一种方式:

 <dl><dd><ul><li>Item #1</li></ul></dd></dl><dl><dd><ul><li>sub Item #1</li></ul></dd></dl> 

嗯,我正在尝试收集项目 #1 和子项目 #1。但是由于这种不一致的 HTML,我无法找到一个 XPath 表达式来让我在任何情况下都可以收集信息,你能帮我解决这个问题吗?

总会有一个列表,项目#1 和子项目#1 总是在&lt;ul&gt;&lt;li&gt;

【问题讨论】:

标签: html xml xpath


【解决方案1】:

您可以尝试使用 descendant 轴 (//) 来选择 ul/li/text(),无论它在一致的祖先/父项中嵌套多深。例如,假设ul/li 的祖先/父级始终是div,而id 等于"content"

//div[@id="content"]//ul/li/text() 

【讨论】:

    猜你喜欢
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 2012-08-23
    • 2011-06-03
    • 1970-01-01
    • 2014-07-13
    • 2012-07-12
    相关资源
    最近更新 更多