6 ArrayList
<XMLTag
> children
;
10 public XMLTag(XMLTag parent
) {
12 children
= new ArrayList
<XMLTag
>();
13 name
= new StringBuilder();
14 value
= new StringBuilder();
17 public String
getName() {
18 return name
.toString();
21 public String
getValue() {
22 return value
.toString();
25 public void setName(String name
) {
26 this.name
= new StringBuilder(name
);
29 public void setValue(String value
) {
30 this.value
= new StringBuilder(value
);
33 public void addNameChar(char c
) {
37 public void addValueChar(char c
) {
41 public void addChild(XMLTag child
) {
45 public void removeChild(XMLTag child
) {
46 children
.remove(child
);
49 public ArrayList
<XMLTag
> getChildren() {
53 public XMLTag
getParent() {
57 public boolean check() {
58 if (name
.length() == 0) return false;
62 public void printTree() {
63 for (XMLTag tag
: getChildren()) {
64 tag
.printTreeHelper();
68 private static String
multiplyChar(char c
, int length
) {
69 StringBuilder b
= new StringBuilder();
70 for (int i
= 0; i
< length
; i
++) {
76 private void printTreeHelper() {
77 System
.out
.printf("%s%s; ", multiplyChar(' ', 4*depth
), getName());
78 if (getChildren().size() > 0) {
79 System
.out
.printf("children: %d; ", getChildren().size());
81 if (getValue().length() > 0) {
82 System
.out
.printf("value: %s;", getValue());
86 for (XMLTag tag
: getChildren()) {
87 tag
.printTreeHelper();