我正在使用 javax.xml.transform.Transformer
将 DOM 源转换为 XML 字符串的类。我在 DOM 树中有一些空元素,这些元素变成了一个我不想要的标签。
如何防止 <sampletag></sampletag>
从成为<sampletag/>
?
最佳答案
我遇到了同样的问题。 这是获得该结果的函数。
public static String fixClosedTag(String rawXml){
LinkedList<String[]> listTags = new LinkedList<String[]>();
String splittato[] = rawXml.split("<");
String prettyXML="";
int counter = 0;
for(int x=0;x<splittato.length;x++){
String tmpStr = splittato[x];
int indexEnd = tmpStr.indexOf("/>");
if(indexEnd>-1){
String nameTag = tmpStr.substring(0, (indexEnd));
String oldTag = "<"+ nameTag +"/>";
String newTag = "<"+ nameTag +"></"+ nameTag +">";
String tag[]=new String [2];
tag[0] = oldTag;
tag[1] = newTag;
listTags.add(tag);
}
}
prettyXML = rawXml;
for(int y=0;y<listTags.size();y++){
String el[] = listTags.get(y);
prettyXML = prettyXML.replaceAll(el[0],el[1]);
}
return prettyXML;
}
关于java - 如何防止xml转换器将空标签转换为单个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3751753/