【问题标题】:Problems with Xalan using XPATH (unclosed tags)使用 XPATH 的 Xalan 问题(未关闭的标签)
【发布时间】:2011-04-10 22:57:25
【问题描述】:

您好,

我面临以下技术堆栈的问题:JWebUnit -> HtmlUnit -> Xalan。 我正在尝试通过 XPATH 查找元素,但 HTML 文档的格式非常错误。

当我到达 XPATH 上的 /body 元素时,Xalan 停止查找元素。我相信这是因为该文档包含两个<body> 标签和一个未关闭的标签。

一切都适用于/html/head/html。但是当我尝试/html/body(或/html/body[1]//body[1],或这些标签中的任何内容)时,我从Xalan 得到的只是空值。

有没有办法解决这个问题?我只是无法更改 html 文档本身。感谢您的关注。

最好的问候, 蒂亚戈

【问题讨论】:

  • 奇怪!如果您可以运行这个/html Xpath 表达式,那么应该也可以运行另一个表达式。
  • 我可以运行/html表达式。任何时候它都会返回我的 HTML 元素。但是当我尝试任何更进一步的 html/body 表达式时,它会丢失自身并返回 null。我相信这是因为文档有两个 标签,一个是未关闭的!
  • 您应该无法在格式不正确的树上运行 XPath 查询。

标签: xpath htmlunit xalan


【解决方案1】:

HtmlUnit 必须使用某些东西将 HTML 转换为 XML。也许你可以告诉它使用 jsoup 或 tagsoup,它们对混乱的 HTML 非常宽容?

您也可以编写代码将 XML 树转储到文件中,以便查看其中的内容。

【讨论】:

  • Hum JSoup 很有趣。不确定我是否可以告诉 HtmlUnit 在不修改/重建源代码的情况下使用另一个 API。但我会看看!谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-05-12
  • 1970-01-01
  • 2021-01-20
  • 2012-10-25
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
相关资源
最近更新 更多