易于生成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的类是什么了吧。