:( 没看明白 :) 话说两句: 最后的一个</book>少了个s哦,哈哈。 如果要使得输出的 xml 文件格式化的话,dom4j很简单就能搞定。
文件-->另存为 "*.xml" -->保存
随便写了个解你的XML的String的,当然假设了你的String中使用的\r\n换行,构造的时候把String传进去,tran的参数是你缩进的样式(多少个空格自己敲就好了) class format { private String[] list; public format(String str) { list=str.split("\r\n"); }
:) 话说两句:
最后的一个</book>少了个s哦,哈哈。
如果要使得输出的 xml 文件格式化的话,dom4j很简单就能搞定。
class format
{
private String[] list;
public format(String str)
{
list=str.split("\r\n");
}
private String take(String data)
{
if(data.startsWith("</"))
return data.substring(3,data.length()-1);
else if(data.endsWith("/>"))
return data.substring(2,data.length()-2);
else if(data.matches("<.*>"))
return data.substring(2,data.length()-1);
else return data;
}
public String tran(String indent)
{
StringBuffer sb=new StringBuffer();
String Indent=indent;
String space="";
List tmp=new ArrayList();
for(int j=0;j<list.length;j++)
{
String d=(String)list[j];
if(!tmp.contains(d)&&d.indexOf("/")==-1&&d.indexOf("<")!=-1)
{
sb.append(space+d+"\r\n");
tmp.add(take(d));
space=space+Indent;
}
else
{
if(tmp.contains(take(d))&&d.startsWith("</"))
{
tmp.remove(take(d));
space=space.substring(0,space.length()-Indent.length());
sb.append(space);
sb.append(d);
}
else if(d.endsWith("/>"))
{
sb.append(space);
sb.append(d);
}
else
{
sb.append(space);
sb.append(d);
}
sb.append("\r\n");
}
}
return sb.toString();
}}
我想了几天的问题
你居然在我发帖后不到两小时就解决了学习,致敬