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

📄 xml.txt

📁 XML应用主要是在JAVA下的调用和读写功能
💻 TXT
字号:
2 *************java写XML文件*************************
package example;
/**
* @author johnstom
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.*;

public class writexml {
private Document document;
private String filename;

public writexml(String name) throws ParserConfigurationException {
filename = name;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.newDocument();
}

public void toWrite(String mytitle, String mycontent, String myprice) {
Element root = document.createElement("WorkShop");
document.appendChild(root);

Element title = document.createElement("Title");
title.appendChild(document.createTextNode(mytitle));
root.appendChild(title);

Element content = document.createElement("Content");
content.appendChild(document.createTextNode(mycontent));
root.appendChild(content);

Element price = document.createElement("Price");
price.appendChild(document.createTextNode(myprice));
root.appendChild(price);
}

public void toSave() {
try {
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
PrintWriter pw = new PrintWriter(new FileOutputStream(filename));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
} catch (TransformerException mye) {
mye.printStackTrace();
} catch (IOException exp) {
exp.printStackTrace();
}
}

public static void main(String args[]) {
try {
writexml myxml = new writexml("f:\\test.xml");
myxml.toWrite("中文题目", "中文内容","jiangtao");
myxml.toSave();
System.out.print("Your writing is successful.");
} catch (ParserConfigurationException exp) {
exp.printStackTrace();
System.out.print("Your writing is failed.");
}
}
}
3.***************************************************************
要读的xml文件
<?xml version="1.0" encoding="GB2312"?> 
<学生花名册> 
<学生 性别 = "男"> 
<姓名>李华</姓名> 
<年龄>14</年龄> 
<电话>6287555</电话> 
</学生> 
<学生 性别 = "男"> 
<姓名>张三</姓名> 
<年龄>16</年龄> 
<电话>8273425</电话> 
</学生> 
</学生花名册>
实例:
package zhg;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.Vector;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
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 test
{
Vector students_Vector;
private Vector readXMLFile(String file) throws Exception
{
   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = dbf.newDocumentBuilder();
   Document doc = builder.parse(file); //获取到xml文件
  
   //下面开始读取
   Element root = doc.getDocumentElement(); //获取根元素
   NodeList students = root.getElementsByTagName("学生");
   students_Vector = new Vector();
   for(int i=0;i<students.getLength();i++)
   {
    //一次取得每一个学生元素
    Element ss = (Element)students.item(i);
   
    //创建一个学生的实例
    student stu = new student();
    stu.setSex(ss.getAttribute("性别")); 
   
    NodeList names = ss.getElementsByTagName("姓名");
    Element e = (Element)names.item(0);
    Node t = e.getFirstChild();
    stu.setName(t.getNodeValue());
   
    NodeList ages = ss.getElementsByTagName("年龄");
    e = (Element)ages.item(0);
    t = e.getFirstChild();
    stu.setAge(Integer.parseInt(t.getNodeValue()));
   
    students_Vector.add(stu);
   }
   return students_Vector;
}

//写入xml文件
public static void callWriteXmlFile(Document doc, Writer w,
            String encoding) {
try {
Source source = new DOMSource(doc);

Result result = new StreamResult(w);

Transformer xformer = TransformerFactory.newInstance()
.newTransformer();
xformer.setOutputProperty(OutputKeys.ENCODING, encoding);
xformer.transform(source, result);

}
catch (TransformerConfigurationException e) {
e.printStackTrace();
}
catch (TransformerException e) {
e.printStackTrace();
}
}
private void writeXMLFile(String outfile)
{
   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder=null;
   try
   {
   builder = dbf.newDocumentBuilder();
   }
   catch(Exception e){}
   Document doc = builder.newDocument();
  
   Element root = doc.createElement("学生花名册");
   doc.appendChild(root); //将根元素添加到文档上
  
   //获取学生信息
   for(int i=0;i<students_Vector.size();i++)
   {
    student s = (student)students_Vector.get(i);
    //创建一个学生
    Element stu = doc.createElement("学生");
    stu.setAttribute("性别",s.getSex());
    root.appendChild(stu);//添加属性
   
    //创建文本年龄节点
    Element age = doc.createElement("年龄");
    stu.appendChild(age); //将age添加到学生节点上
    Text tage = doc.createTextNode(String.valueOf(s.getAge()));
    age.appendChild(tage); //将文本节点放在age节点上
   
    //创建文本姓名节点
    Element name = doc.createElement("姓名");
    stu.appendChild(name);
    Text tname = doc.createTextNode(s.getName());
    name.appendChild(tname);
   }
   try {
    FileOutputStream fos = new FileOutputStream(outfile);
    OutputStreamWriter outwriter = new OutputStreamWriter(fos);
    //((XmlDocument)doc).write(outwriter); //出错!
    callWriteXmlFile(doc,outwriter,"gb2312");
    outwriter.close();
    fos.close();
   } catch (Exception e) {
    e.printStackTrace();
   }
}
public static void main(String args[])
{
   String str = "zhg/student.xml";
   test t = new test();
   try
   {
   Vector v = t.readXMLFile(str);
   Iterator it = v.iterator();
   while(it.hasNext())
   {
    student s = (student)it.next();
    System.out.println(s.getName()+"\t"+s.getAge()+"\t"+s.getSex());
   }
   }
   catch(Exception e)
   {
    e.printStackTrace();
   
   }
  
   String outfile = "zhg/stucopy.xml";
   t.writeXMLFile(outfile);  
}
}

⌨️ 快捷键说明

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