我在下面提供了以下代码摘录;
问题在于
(element.getChildNodes().item(0).getNodeValue())
具有不同数量的字符输出
然后导致eventy
与其他行的其他输出移出行,因此给出了数据的锯齿形外观而不是列中的数据,我尝试使用制表符和空格进行试验。但是请一定帮助。
String eventy = null;
for (int i = 0; i < list.getLength(); i++) {
Element element = (Element)list.item(i);
String nodeName = element.getNodeName();
switch (nodeName) {
case "assd":
System.out.println((element.getChildNodes().item(0).getNodeValue()) + "\t " eventy);
break;
case "eventy":
eventy = element.getChildNodes().item(0).getNodeValue();
break;
}
}
答案 0 :(得分:2)
如果您可以假定“assd”子节点的字符串最大长度,则可以使用System.out.printf
。例如:
System.out.printf("%-20s %s%n", element.getChildNodes().item(0).getNodeValue(), eventy)
会将“assd”子节点的值打印到第一列,宽度为20,然后是变量eventy
的值,然后是新行分隔符。