- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图使用 JSoup 和 Java 来获取满足我的条件的特定标记后的定义列表(或任何标记)的内容。作为示例,我们假设我们有一个 html 文档,如下所示。
<p>PageID: 2816; NS: 0; Title: some text;
Image url:
Content:
{{Wort der Woche}}
{{Siehe auch}}
</p>
<h2><span class="1" id="e1">some text</span></h2>
<h3><span class="1" id="e2">some text</span></h3>
<p>{{Transportation}}
</p>
<dl>
<dd>Flying</dd>
<dd>Driving</dd>
<dd>Sailing
<dl>
<dd>Boat</dd>
<dd>Ship</dd>
</dl>
</dd>
</dl>
<p>{{Activities}}
</p>
<dl>
<dd>Shopping</dd>
<dd>Painting</dd>
</dl>
假设我们想要获取“Transportation”之后出现的“dl”标签的内容。即内容:
<dl>
<dd>Flying</dd>
<dd>Driving</dd>
<dd>Sailing
<dl>
<dd>Boat</dd>
<dd>Ship</dd>
</dl>
</dd>
</dl>
我最初的尝试是获取段落的索引(例如第1、第2等),然后获取相应的dl,但这似乎不起作用,因为dls可以嵌套。
有人对如何获取此类内容有建议吗?
最佳答案
假设 HTML 结构类似于您的示例,其中 <dl>
始终遵循<p>
,你可以:
<p>
元素通过 doc.getElementsContainingOwnText("txt")
;<dl>
使用 element.nextElementSibling();
。下面是在 HTML 上运行的示例代码:
public static void main(String[] args) {
Document doc = Jsoup.parse("<p>PageID: 2816; NS: 0; Title: some text; \r\nImage url: \r\nContent:\r\n{{Wort der Woche}}\r\n{{Siehe auch}}\r\n</p>\r\n<h2><span class=\"1\" id=\"e1\">some text</span></h2>\r\n<h3><span class=\"1\" id=\"e2\">some text</span></h3>\r\n\r\n<p>{{Transportation}}\r\n</p>\r\n<dl>\r\n <dd>Flying</dd>\r\n <dd>Driving</dd>\r\n <dd>Sailing\r\n <dl>\r\n <dd>Boat</dd>\r\n <dd>Ship</dd>\r\n </dl>\r\n </dd>\r\n</dl>\r\n\r\n<p>{{Activities}}\r\n</p>\r\n<dl>\r\n <dd>Shopping</dd>\r\n <dd>Painting</dd>\r\n</dl>");
Elements e = doc.getElementsContainingOwnText("{{Transportation}}");
Element nextDL = e.get(0).nextElementSibling();
System.out.println(nextDL);
}
输出:
<dl>
<dd>Flying</dd>
<dd>Driving</dd>
<dd>Sailing
<dl>
<dd>Boat</dd>
<dd>Ship</dd>
</dl>
</dd>
</dl>
关于java - 解析 HTML : Getting particular html definition list after a particular paragraph using JSOUP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16750381/
如何将以下行分成 3 组,其中“美元”总和为 10。所有行都必须使用,且不得超过一次。 row|dollars 1|1 2|1 3|1 4|1 5|1 6|1 7|3 8|4 9|7 10|10 一个
我试图使用 JSoup 和 Java 来获取满足我的条件的特定标记后的定义列表(或任何标记)的内容。作为示例,我们假设我们有一个 html 文档,如下所示。 PageID: 2816; NS: 0;
我想编写一个应用程序来识别当前的变更集并标记它们。 我知道我们可以通过使用 hg identify 来获取变更集. 获得变更集后,有没有办法标记它? 谢谢 最佳答案 来自 documentation
当在一个元素上触发多个动画时,我如何监听特定的 animationend。在我的例子中,我设计了一个覆盖歌曲列表(包含 li's,当悬停在上面时会触发动画),当单击列表图标时会弹出。然而,问题不在于菜
我目前正在使用来自支持库 (https://developer.android.com/tools/support-library/features.html#v7-palette) 的 Palett
我已将TinyMCE设置为可与“管理”面板一起使用(按照Django Docs http://code.djangoproject.com/wiki/AddWYSIWYGEditor中的说明进行操作)
我通过调用 API 获得响应。就像这样。 [{"id":213132},{"id":241132},{"id":465413},{"id":546351},{"id":164854,"data":[{
我的 makefile 包含这些片段(以及其他片段): SRC = src OBJ = obj DEPS = $(wildcard $(SRC)/*.cpp) # ... all : $(BINARI
当另一个元素包含特定 ID 时,我试图获取一个 jQuery 条件来将类应用于该特定元素。这是我到目前为止所拥有的: $(document).ready(function() { if( $('.c
这个问题已经有答案了: Is floating point math broken? (33 个回答) 已关闭 7 年前。 我想要这样的值 -1,1.02,1.04,1.06,1.08 等...所以在
我正在为寻呼机使用 fragmentpageadapter,我想用新的一组值重新加载特定的 fragment 。 NotifyDataSetcanged 正在重新加载所有 fragment ,我也在使
我有一个名为“checkInGuestUsers”的表,其中有“checkInTime(DATETIME)、checkOutTime(DATETIME)、rooms(varchar)”等列 有特定用户
我正在使用 JMeter 进行负载测试我面临以下问题: 我有一个视频制作网站要测试,我想点击由多个用户创建和播放视频按钮。 最佳答案 本教程介绍了很多用户如何在jmeter中播放 Action ,必须
假设我有以下列表,其中只有字符串。 appliances = ['blender', 'microwave', 'oven', 'toaster'] 如何生成一个由列表组件的元素组成的新列表,该列表仅
我有一个字符串 (Python 2.7.3),它在 Django 中呈现为模板,但我认为这不是 Django 特有的。该字符串来自 docx 文件中的 document.xml 文件。我正在提取呈现它
我正在尝试抓取网站的特定部分 ( https://flightmath.com/from-CDG-to-BLR ),但我无法定位到我需要的元素。 下面是html部分 flight dis
我正在使用 Ubuntu 12。我试图在我的 Ubuntu 机器主目录中搜索单词“SymbolSetThree”。 为此我使用了 grep "SymbolSetThree" /home 简单的显示为
我如何才能获得特定“place_id”的所有图片?。当我检索特定位置的“位置”列表时,我只能访问一个特定的图像“PHOTO_REFERENCE”。。我想通过它的“Places_id”(更具体的搜索)来
我有一个 Student 表,其中包含如下列: | email (PK) | name | 我有一个书 table ,里面有这样的列: | bookid(PK) | title | 我有一个复制表,上
在serverless.yml中,部署配置文件是这样设置的 custom: defaultStage: dev profiles: dev: b***2_dev prod: b***2_pro
我是一名优秀的程序员,十分优秀!