⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mediatexml.java

📁 使用模式映射方法
💻 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 + -