有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用HTMLPasser替换属性?

更新:嗨,帕斯卡,谢谢你的快速回复,这几乎就是我想要的。每个标签的新链接都不一样,你能帮我吗

我需要做的就是迭代输入字符串中出现的所有链接标记,获取它们的值,并替换为不同的链接,而不干扰链接文本

我是Java中使用HTMLPasser的新手,请帮助我解决这个问题

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 

我需要将<a class="user" href="">中的href链接替换为标签中的另一个链接


共 (1) 个答案

  1. # 1 楼答案

    如果使用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());
    

    这只是一种方法