📄 mediatexml.java
字号:
/*
* MediateXML.java
*
* Created on 2007年3月2日, 下午2:59
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package XRSystem.Process;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.*;
import java.io.*;
import javax.swing.tree.*;
import java.util.*;
import java.lang.*;
import java.net.*;
import XRSystem.Util.*;
/**
*
* @author 王刚
*/
public class MediateXML {
private static int PreOrder = 1;
/** Creates a new instance of MediateXML */
public MediateXML() {
}
public String ProductXML(URL FilePath) {
String[] ThisList = FilePath.getFile().split("/");
int iList = ThisList.length;
String FileName = ThisList[iList-1].toString();
String OutPutFile="OutPut"+FileName;
SAXBuilder builder = new SAXBuilder();
Document doc= new Document();
try{
doc = builder.build(FilePath);
} catch (JDOMException e) {
//System.out.println(args[0] + " is not well-formed.");
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e);
}
/*
catch (URISyntaxException e) {
System.out.println(e);
}*/
org.jdom.Document XMLDoc = (org.jdom.Document)doc;
Element Root = XMLDoc.getRootElement();
ArrayList<Element> ParentList = new ArrayList<Element>();
ParentList = ProcessList(Root);
Element ORoot = new Element(Root.getName());
ORoot = ORoot.setAttribute("PreOrder",String.valueOf(PreOrder));
Document OrderedDocument = new Document(ORoot);
PreOrder+=1;
for(int m=0;m<ParentList.size();m++) {
ArrayList<Element> ChildList = new ArrayList<Element>();
Element T = new Element(ParentList.get(m).getName());
ChildList = ProcessList(ParentList.get(m));
Element T1 = MakeChild(T,ChildList);
Element c =OrderedDocument.getRootElement();
OrderedDocument.getRootElement().addContent(T1);
}
XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat()); //格式化输出,产生缩进和换行
Format format = outp.getFormat();
format.setEncoding("GB2312"); //设置语言
format.setExpandEmptyElements(true); //设置输出空元素格式
outp.setFormat(format);
try{
outp.output(OrderedDocument, new FileOutputStream(OutPutFile));
} catch(Exception e){e.printStackTrace();} //输出XML文档
System.out.print("XML 文档生成完毕!");
return OutPutFile;
}
private ArrayList<Element> ProcessList(Element Now) {
ArrayList<Element> NArrayList = new ArrayList<Element>();
List NowList = Now.getContent();
Iterator iterator = NowList.iterator();
while (iterator.hasNext()) {
Object o = iterator.next();
if(o instanceof Element) {
NArrayList.add((Element)o);
} else
continue;
}
return NArrayList;
}
private Element MakeChild(Element NowElement,ArrayList<Element> TempList) {
Element NElement = NowElement;
NElement = NElement.setAttribute("PreOrder",String.valueOf(PreOrder));
PreOrder++;
//CElement;
ArrayList<Element> SecondList = new ArrayList<Element>();
for(int j=0;j<TempList.size();j++) {
Element CElement = new Element(TempList.get(j).getName());
Element ChildElement = TempList.get(j);
ArrayList<Element> TNList = new ArrayList<Element>();
TNList = ProcessList(ChildElement);
NElement.addContent(MakeChild(CElement,TNList));
}
//System.out.println(PElement.getName()+" "+PElement.getAttributes());
return NElement;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -