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

📄 convertcrosstalk.java

📁 更不用说了,我培训期间的资料,包括每天老师的例子.文件主要包括,HIBERNATE的配置,一对多,多对多.别的就是些平时的自己作业.XML方面也有.我感觉很适合,想学习这方面的却没有适合练习的人,毕竟
💻 JAVA
字号:
import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import java.io.*;
import java.util.*;
public class ConvertCrossTalk {
	Document oldDoc;
	Document newDoc;
	Map<String,Element> elements=new HashMap<String,Element>();
	Map<String,String> relations=new HashMap<String,String>();
	public static void main(String[] args) throws Exception {
		ConvertCrossTalk de=new ConvertCrossTalk();
		de.parseOldXML();
		de.buildNewDOMTree();
		de.createNewXML();
	}
	public ConvertCrossTalk() throws Exception{
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		DocumentBuilder db=dbf.newDocumentBuilder();
		oldDoc=db.parse(new File("CrossTalk.xml"));
		newDoc=db.newDocument();
	}
	public void parseOldXML() throws Exception{
		NodeList nl=oldDoc.getElementsByTagName("演员");
		for(int i=0;i<nl.getLength();i++){
			Element e=(Element)(nl.item(i));
			String name=e.getTextContent().trim();
			String id=e.getAttribute("id");
			String parent=e.getAttribute("师父");
			relations.put(id,parent);
			Element e2=newDoc.createElement("演员");
			Attr attr=newDoc.createAttribute("name");
			attr.setValue(name);
			e2.setAttributeNode(attr);
			elements.put(id,e2);
		}
	}
	public void buildNewDOMTree() throws Exception{
		for(String id:relations.keySet()){
			String parent=relations.get(id);
			Element e1=elements.get(id);
			if (parent.equals("")) {
				Element root=newDoc.createElement("演员列表");
				root.appendChild(newDoc.createTextNode("\n"));
				root.appendChild(e1);
				root.appendChild(newDoc.createTextNode("\n"));
				newDoc.appendChild(root);
				continue;
			}
			Element e2=elements.get(parent);
			e2.appendChild(newDoc.createTextNode("\n"));
			e2.appendChild(e1);
		}
	}
	public void createNewXML() throws Exception{
		TransformerFactory tf=TransformerFactory.newInstance();
		Transformer tran=tf.newTransformer();
		
		DOMSource ds=new DOMSource(newDoc);
		StreamResult sr=new StreamResult(new FileOutputStream("CrossTalk2.xml"));
		tran.transform(ds,sr);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -