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

📄 xmledit.java

📁 实现XML的基本操作
💻 JAVA
字号:
//package org.sict.service;
//
//import java.util.ArrayList;
//
//import javax.xml.parsers.DocumentBuilder;
//import javax.xml.parsers.DocumentBuilderFactory;
//import javax.xml.transform.Transformer;
//import javax.xml.transform.TransformerFactory;
//import javax.xml.transform.dom.DOMSource;
//import javax.xml.transform.stream.StreamResult;
//
//import org.w3c.dom.Document;
//import org.w3c.dom.Element;
//import org.w3c.dom.Node;
//import org.w3c.dom.NodeList;
//import org.w3c.dom.Text;
//
//public class XMLEdit
//{
//	static Document doc;
//	private String moduleCode;
//	private String moduleId;
//	private String moduleName;
//	private String link;
//	
//	public XMLEdit(){}
//	
//	public XMLEdit(String moduleCode)
//	{
//		this.moduleCode = moduleCode;
//	}
//	
//	public XMLEdit(String moduleId,String moduleName,String link)
//	{
//		this.moduleId = moduleId;
//		this.moduleName = moduleName;
//		this.link = link;
//	}
//	
//	public XMLEdit(String moduleCode,String moduleId,String moduleName,String link)
//	{
//		this.moduleCode = moduleCode;
//		this.moduleId = moduleId;
//		this.moduleName = moduleName;
//		this.link = link;
//	}
//	
//	//读取xml内容
//	public void readXML()
//	{
//		try
//		{
//			main();
//			NodeList node = doc.getElementsByTagName("module");
//			for(int i=0;i<node.getLength();i++)
//			{
//				Element element=(Element)node.item(i);
//				moduleCode = element.getElementsByTagName("ModuleCode").item(0).getFirstChild().getNodeValue();
//				moduleId = element.getElementsByTagName("ModuleID").item(0).getFirstChild().getNodeValue();
//				moduleName = element.getElementsByTagName("ModuleName").item(0).getFirstChild().getNodeValue();
//				link = element.getElementsByTagName("Link").item(0).getFirstChild().getNodeValue();
//				System.out.println(moduleCode+moduleId+moduleName+link);
//			}
//		}
//		catch(Exception ex)
//		{
//			ex.printStackTrace();
//		}
//	}
//	//获取xml中所有内容并转换成XMLModule类添加到list中
//	public ArrayList getAll()
//	{
//		ArrayList moduleList = new ArrayList();
//		try
//		{
//			main();
//			NodeList node = doc.getElementsByTagName("module");
//			
//			for(int i=0;i<node.getLength();i++)
//			{
//				XMLModule xmlModule = new XMLModule();
//				Element element=(Element)node.item(i);
//				moduleCode = element.getElementsByTagName("ModuleCode").item(0).getFirstChild().getNodeValue();
//				moduleId = element.getElementsByTagName("ModuleID").item(0).getFirstChild().getNodeValue();
//				moduleName = element.getElementsByTagName("ModuleName").item(0).getFirstChild().getNodeValue();
//				link = element.getElementsByTagName("Link").item(0).getFirstChild().getNodeValue();
//				xmlModule.setId(moduleCode);
//				xmlModule.setModuleId(moduleId);
//				xmlModule.setModuleName(moduleName);
//				xmlModule.setLink(link);
//				moduleList.add(xmlModule);	     					      
//			}
//			return moduleList;
//		}
//		catch(Exception ex)
//		{
//			ex.printStackTrace();
//			return null;
//		}
//	}
//	//添加子节点
//	public boolean addXML()
//	{
//		try
//		{
//			main();
//			count();
//			Text text;
//			Element module = doc.createElement("module");
//			
//			//添加第一个元素
//			//添加text元素
//			Element first = doc.createElement("ModuleCode");
//			//设置text内容
//			text = doc.createTextNode(moduleCode);
//			//将text添加到linktext中
//			first.appendChild(text);
//			//将linktext添加到link中
//			module.appendChild(first);
//			
//			//添加第二个元素
//			Element second = doc.createElement("ModuleID");
//			text = doc.createTextNode(moduleId);
//			second.appendChild(text);
//			module.appendChild(second);
//			
//			//添加第三个元素
//			Element third = doc.createElement("ModuleName");
//			text = doc.createTextNode(moduleName);
//			third.appendChild(text);
//			module.appendChild(third);
//			
//			//添加第四个元素
//			Element fourth = doc.createElement("Link");
//			text = doc.createTextNode(link);
//			fourth.appendChild(text);
//			module.appendChild(fourth);
//			
//			doc.getDocumentElement().appendChild(module);
//			run();
//			return true;
//		}
//		catch(Exception ex)
//		{
//			ex.printStackTrace();
//			return false;
//		}
//	}
//	
//	//删除子节点
//	public boolean deleteXML()
//	{
//		main();
//		try
//		{
//			NodeList node = doc.getElementsByTagName("module");
//			for(int i=0;i<node.getLength();i++)
//			{
//				Element element=(Element)node.item(i);
//				String moduleCodeTemp = element.getElementsByTagName("ModuleCode").item(0).getFirstChild().getNodeValue();
//				if(moduleCodeTemp.equals(moduleCode))
//				{
//					Element node1 = doc.getDocumentElement();
//					node1.removeChild(element);
//					run();
//				}
//			}
//			return true;
//		}
//		catch(Exception ex)
//		{
//			ex.printStackTrace();
//			return false;
//		}
//	}
//	//修改子节点
//	public boolean updateXML()
//	{
//		main();
//		try
//		{
//			NodeList node = doc.getElementsByTagName("module");
//			for(int i=0;i<node.getLength();i++)
//			{
//				Element element=(Element)node.item(i);
//				String moduleCodeTemp = element.getElementsByTagName("ModuleCode").item(0).getFirstChild().getNodeValue();
//				if(moduleCodeTemp.equals(moduleCode))
//				{
//					Node codes = element.getElementsByTagName("ModuleCode").item(0).getFirstChild();
//					codes.setNodeValue(moduleCode);
//					Node id = element.getElementsByTagName("ModuleID").item(0).getFirstChild();
//					id.setNodeValue(moduleId);
//					Node name = element.getElementsByTagName("ModuleName").item(0).getFirstChild();
//					name.setNodeValue(moduleName);
//					Node links = element.getElementsByTagName("Link").item(0).getFirstChild();
//					links.setNodeValue(link);
//				}
//				run();
//			}
//			return true;
//		}
//		catch(Exception ex)
//		{
//			ex.printStackTrace();
//			return false;
//		}
//	}
//	//根据ID获取MODULE对象
//	public XMLModule getByID(String id)
//	{
//		XMLModule module = new XMLModule();
//		try
//		{
//			main();
//			NodeList node = doc.getElementsByTagName("module");
//			for(int i=0;i<node.getLength();i++)
//			{
//				Element element=(Element)node.item(i);
//				moduleCode = element.getElementsByTagName("ModuleCode").item(0).getFirstChild().getNodeValue();
//				if(moduleCode.equals(id))
//				{
//					moduleId = element.getElementsByTagName("ModuleID").item(0).getFirstChild().getNodeValue();
//					moduleName = element.getElementsByTagName("ModuleName").item(0).getFirstChild().getNodeValue();
//					link = element.getElementsByTagName("Link").item(0).getFirstChild().getNodeValue();
//					module.setId(moduleCode);
//					module.setModuleId(moduleId);
//					module.setModuleName(moduleName);
//					module.setLink(link);
//				}
//			}
//		}
//		catch(Exception ex)
//		{
//			ex.printStackTrace();
//		}
//		return module;
//	}
////内部调用方法
//	//获取.xml路径
//	private String getURL()
//	{
//		java.io.File file=new java.io.File("..\\webapps\\OA\\xml\\Module.xml");
//		String url =file.getPath();
//		return url;
//	}
//	//创建环境
//	private void main()
//	{
//		try
//		{
//			DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
//			DocumentBuilder builder=factory.newDocumentBuilder();
//		    doc=builder.parse(getURL());
//			doc.normalize();
//		}
//		catch(Exception ex)
//		{
//			ex.printStackTrace();
//		}
//	}
//	//保存结果
//	private void run()
//	{
//		TransformerFactory tFactory = TransformerFactory.newInstance();
//		try
//		{
//			Transformer transformer = tFactory.newTransformer();
//			DOMSource source = new DOMSource(doc);
//			StreamResult result = new StreamResult(new java.io.File(getURL()));
//			transformer.transform(source, result);
//		}
//		catch(Exception ex)
//		{
//			ex.printStackTrace();
//		}
//	}
//	private void count()
//	{
//		NodeList node = doc.getElementsByTagName("module");
//		Element element = (Element)node.item(0);
//		int  code = Integer.parseInt(element.getElementsByTagName("ModuleCode").item(0).getFirstChild().getNodeValue());
//		for(int i=1;i<node.getLength();i++)
//		{
//			element = (Element)node.item(i);
//			String temp = element.getElementsByTagName("ModuleCode").item(0).getFirstChild().getNodeValue();
//			if(code<Integer.parseInt(temp))
//			{
//				code = Integer.parseInt(temp);
//			}
//		}
//		code++;
//		moduleCode = String.valueOf(code);
//	}
//}
////说明:
////添加:实例化时,使用3参数构造器,分别传入moduleId,moduleName和link参数;调用count()方法,自动生成moduleCode,并将内容依次添加到xml中.
////修改:实例化时,使用4参数构造器,以确定需要修改的节点,并进行修改.
////删除:实例化时,可调1参数构造器,以确认需要删除的节点,并进行删除.
////读取:直接实例化,并调用readXML()方法即可.
////其中,count(),main(),run()方法均为该类内部使用的方法,故用private修饰.
////EditBy lihb 07.6.18
//

⌨️ 快捷键说明

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