更新:您好 Pascal,感谢您的快速回复,这几乎就是我想要的。每个标签的新链接都不同,你能帮我做一下吗?
我需要做的就是遍历输入字符串中出现的所有链接标签,获取它们的值,然后在不影响链接文本的情况下替换为不同的链接
我是 Java 中 htmlParser 的新手,请帮我解决这个问题。
htmlString = <a class="user" href="">first name</a> posted on <a class="user" href="">Test Test</a>'s wiki entry, <a href="http://localhost:8080/b/lll/ddd">werwrwrwerwerwer</a>, in
我需要替换 href
链接 <a class="user" href="">
到标签中的另一个链接。
最佳答案
如果您使用 htmlparser作为 HTML 解析器,您可以使用 visitors 进行一些转换.
例如,您可以创建自己的 NodeVisitor访问 a
标签:
public class MyLinkVisitor extends NodeVisitor {
public MyLinkVisitor() { }
public void visitTag(Tag tag) {
if (tag.getTagName().equals("A")) {
LinkTag link = (LinkTag) tag;
link.setLink("http://newLink/"); //implement your logic here
}
}
}
然后,创建一个 Parser ,解析HTML字符串并访问返回的节点列表:
Parser parser = new Parser(htmlString);
NodeList nl = parser.parse(null);
nl.visitAllNodesWith(new MyLinkVisitor());
System.out.println(nl.toHtml());
这只是一种方法。
关于java - 如何使用 htmlParser 替换属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694515/