易于生成xpath的类是什么

来源:爱站网时间:2021-12-02编辑:网友分享
爱站技术小编想编写一个用于生成xpath的类。该类应具有2个方法:down(String string)和child(String string)。具体的操作皆在下文,喜欢的朋友可以来参考参考。

问题描述


我想编写一个用于生成xpath的类。该类应具有2个方法:down(String string)child(String string)

我想使用这样的类:

XpathBuilder.child("div").down("button").child("a").child("span")

//That should return a String: div//button/a/span

有人可以建议我该怎么做吗?

解决方法:


您可以看一下构建器模式。

这里是一个示例(使用内部构建器类):

public class XpathBuilder {

    public Builder builder() {
        return new XpathBuilder.Builder();
    }

    class Builder {

        private final StringBuilder sb;

        Builder() {
            sb = new StringBuilder();
        }

        public Builder child(String name) {
            sb.append("/").append(name);
            return this;
        }

        public Builder down(String name) {
            sb.append("//").append(name);
            return this;
        }

        public String build() {
            return sb.toString();
        }
    }
}

可以这样称呼:

String path = new XpathBuilder().builder().child("div").down("button").child("a").child("span").build();

这是另一个示例(使用构建器和单例模式::

public class XpathBuilder {

    private final StringBuilder sb;

    private static XpathBuilder instance;

    private XpathBuilder() {
        sb = new StringBuilder();
    }

    public static XpathBuilder newInstance() {
        if (instance == null) {
            instance = new XpathBuilder();
        }
        return instance;
    }

    public XpathBuilder child(String name) {
        sb.append("/").append(name);
        return this;
    }

    public XpathBuilder down(String name) {
        sb.append("//").append(name);
        return this;
    }

    public String build() {
        return sb.toString();
    }

}

可以这样称呼:

String path = XpathBuilder.newInstance().child("div").down("button").child("a").child("span").build();

 以上内容就是爱站技术频道小编为大家分享的易于生成xpath的类是什么,看完以上分享之后,大家应该都知道易于生成xpath的类是什么了吧。

上一篇:怎么通过发布将BLOB发送到Java后端

下一篇:集成测试在执行mvn安装或mvn测试时失败,但不是来自Intellij,那是因为什么?

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载