Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java中的同级标记解析HTML内容(或)在两个标记之间查找内容<;开放式>;标签_Java_Html_Parsing_Nested_Htmlcleaner - Fatal编程技术网

使用Java中的同级标记解析HTML内容(或)在两个标记之间查找内容<;开放式>;标签

使用Java中的同级标记解析HTML内容(或)在两个标记之间查找内容<;开放式>;标签,java,html,parsing,nested,htmlcleaner,Java,Html,Parsing,Nested,Htmlcleaner,背景:我正在编写一个Java程序来遍历HTML文件,并用Lorem Ipsum替换标记中所有不是或的内容。我最初是用正则表达式实现的,只需删除a>和a之间的所有内容,就可以用它做任何事情 那适合你吗 Element div = doc.select("div").first(); // <div></div> div.html("<p>lorem ipsum</p>"); // <div><p>lorem ipsum&l

背景:我正在编写一个Java程序来遍历HTML文件,并用Lorem Ipsum替换标记中所有不是
的内容。我最初是用正则表达式实现的,只需删除a>和a之间的所有内容,就可以用它做任何事情

那适合你吗

 Element div = doc.select("div").first(); // <div></div>
 div.html("<p>lorem ipsum</p>"); // <div><p>lorem ipsum</p></div>
Element div=doc.select(“div”).first();//
div.html(“lorem ipsum

”) 同侧眼睑


HtmlCleaner的ContentNode有一个方法返回一个。这是可变的,可以更改为您想要的任何值。

您是否使用了类似StringTokenizer的工具?我相信这只是一个简化的正则表达式,现在已经被弃用了——来自Java文档“StringTokenizer是一个遗留类,出于兼容性原因保留它,尽管新代码中不鼓励使用它。建议任何寻求此功能的人改用String的split方法或java.util.regex包。“Regex实际上对我来说工作得不错,但在html上使用Regex显然是一件可怕的事情。我不这么认为。我浏览了jSoup文档,但找不到任何可以替换子元素的打开标记和打开标记之间的文本的内容。(尝试将示例代码应用于我的示例html不会保留内部span)。如果span之后有文本,但div内部有文本,那么您的工具所做的转换会产生什么结果?我希望它在这里获取
文本更多文本,在这里获取
并吐出
lorem ipsum dolor sit amet nuncam
。我想替换两个标记之间的任何文本,无论它们都是打开的,都是关闭的,还是打开和关闭的。因此,在本例中,当节点没有子节点时,可以替换它的完整html内容,如果当前节点有子节点,则可以使用append()、prepend()或wrap()。它会很快变得混乱,所以我想我实际上错过了大局。
 Element div = doc.select("div").first(); // <div></div>
 div.html("<p>lorem ipsum</p>"); // <div><p>lorem ipsum</p></div>