请问如何让xml文档树状打印呢?
Topic source如果是缩进打印的话,可以修改一下 toXml 方法,每次调用加上缩进字符
public interface Node {
Node add(Node node);
List<Node> children();
default String toXml() {
return toXml("");
};
String toXml(String sep);
}
public class ElementNode implements Node {
...
@Override
public String toXml(String sep) {
String start = sep + "<" + name + ">\n";
String end = sep + "</" + name + ">\n";
StringJoiner sj = new StringJoiner("", start, end);
list.forEach(node -> {
sj.add(node.toXml(sep + " ") + "\n");
});
return sj.toString();
}
}
public class CommentNode implements Node {
...
@Override
public String toXml(String sep) {
return sep + "<!-- " + text + " -->";
}
}
public class TextNode implements Node {
...
@Override
public String toXml(String sep) {
return sep + text;
}
}
- 1
两把刷子闯江湖
同上