【Java从入门到放弃】第六章·java对Xml文件操作

Xml文件的读取

package Test;



import java.io.File;



import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;



import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;





public class Test {



public static void main(String[] args) {

try {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse(new File("languages.xml"));

Element root = document.getDocumentElement();

System.out.println("cat="+root.getAttribute("cat"));

NodeList list = root.getElementsByTagName("lan");

for(int i=0;i<list.getLength();i++){

Element lan = (Element)list.item(i);

System.out.println("---------------------------");

System.out.println("id="+lan.getAttribute("id"));

NodeList cList =lan.getChildNodes();

for(int j=0;j<cList.getLength();j++){

Node c = cList.item(j);

if(c instanceof Element){

System.out.println(c.getNodeName()+"="+c.getTextContent());

}

}

}

} catch (Exception e) {

}

}



}

 

Xml的创建

package Test1;



import java.io.StringWriter;



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;



public class Test1 {



public static void main(String[] args) {

try {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.newDocument();

Element root = document.createElement("Languages");

root.setAttribute("cat", "it");

Element lan1 = document.createElement("lan");

lan1.setAttribute("id", "1");

Element name1 = document.createElement("name");

Element ide1 = document.createElement("ide");

name1.setTextContent("Java");

ide1.setTextContent("Eclipse");

lan1.appendChild(name1);

lan1.appendChild(ide1);

Element lan2 = document.createElement("lan");

lan2.setAttribute("id", "2");

Element name2 = document.createElement("name");

Element ide2 = document.createElement("ide");

name2.setTextContent("Swift");

ide2.setTextContent("Xcode");

lan2.appendChild(name2);

lan2.appendChild(ide2);

Element lan3 = document.createElement("lan");

lan3.setAttribute("id", "3");

Element name3 = document.createElement("name");

Element ide3 = document.createElement("ide");

name3.setTextContent("C#");

ide3.setTextContent("Visual Studio");

lan3.appendChild(name3);

lan3.appendChild(ide3);

root.appendChild(lan1);

root.appendChild(lan2);

root.appendChild(lan3);

document.appendChild(root);

//----------------

TransformerFactory transformerFactory = TransformerFactory.newInstance();

Transformer transformer = transformerFactory.newTransformer();

StringWriter writer = new StringWriter();

transformer.transform(new DOMSource(document), new StreamResult(writer));

System.out.println(writer.toString());

} catch (Exception e) {

}

}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值