gpt4 book ai didi

Java和xpath - xHtml解析问题

转载 作者:行者123 更新时间:2023-12-02 08:37:24 27 4
gpt4 key购买 nike

我正在尝试解析格式良好的 xhtml 文档。
我在节点迭代期间遇到问题。
我的 xHtml 的结构如下

<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>...</head>
<body>
...
<form>
...
<div class="AB"> (1 or 2 times)
...
<div class="CD">
...
<table>
<tbody>
<tr> (1 to N times)
<td> XXX </td>
<td> YYY </td> ...

我需要的信息包含在列(td)中。
我想构造N个对象。因此,每一行 (tr) 的列中都包含我构建对象所需的信息。
我有 1 或 2 个 div 类 =“AB”。所以基本上我会有 1 或 2 个对象 AB,其中包含从表中的每一行创建的其他对象的列表

所以首先我提取这些 AB div 的 NodeList

NodeList ABlist= (NodeList) xpath.evaluate("//div[@class='AB']", document, XPathConstants.NODESET)

现在我正在尝试获取第一个 div AB 的所有 tr 元素的 NodeList。

NodeList trList = (NodeList) xpath.evaluate("/div/table//tr", ABlist.item(0), XPathConstants.NODESET);

在这种情况下,trList 为空。你知道我的代码有什么问题吗?
谢谢

最佳答案

第二个失败的 XPath 的问题是您以 / 启动它:

/div/table//tr

在 XPath 中,就像在文件路径中一样,以 / 开头的路径意味着“从文档的根目录开始”。但您实际上并不想在那里这样做 - 您想从您的节点开始。所以:

div/table//tr

会做你想做的事。

关于Java和xpath - xHtml解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203305/

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