XML Java相关

Java读取XML文件

import javax.xml.parsers.*;

import org.w3c.dom.Document;

import org.xml.sax.SAException;

//DOM方式解析XML文档

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = DocumentBuilderFactory.newDocumentBuilder();

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

//获取根元素

Element root = document.getDocumentElement();

//获取子集元素

NodeList list = root.getElementsByTagName(“lang”);

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

Element element = list.item(i);

System.out.println(“————————————————————“);

System.out.println(“id=“+element.getAttribute(“id”));

NodeList child = element.getChildNodes();

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

Node c = (Element)child.item(j);

if(c instance Element){//过滤不可见节点 如回车

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

 }

 }

 

}

//生成xml文档

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = DocumentBuilderFactory.newDocumentBuilder();

//创建新dom对象

Document document = builder.newDocument(new File(“test.xml"));

Element root = document.createEelement(“Languages”);

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

Element lang1 = document.createEelement(“lang”);//<lang>

lang1.setAttribute(“id”,”1”);        //<lang id=1>

Element name1 = document.createEelement(“name”);//<name>

Element ide1 = document.createEelement(“ide”);//<ide>

name1.setTextContent(“Java”);//<name>Java</name>

ide1.setTextContent(“IDEA”);//<ide>IDEA</ide>

lang1.appendChild(name1);

lang1.appendChild(ide1);

root.appendChild(lang1);

document.appendChild(root);

 

实现效果为:

<Languages cat = it>

<lang id=1>

<name>Java</name>

<ide>IDEA</ide>

</lang >

 </Languages>

 

生成的XML文件通过字符串传输

TransformerFactory transformerFactory = TransformerFactory.newInstance();

Transformer transformer = transformerFactory.newTransformer();

//输入转换源 输出字符串

StringWriter writer = new StringWriter();

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

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

//输入转换源 输出文件

tranformer.transform(new DOMSource(document),new StreamResult(new File(“test.xml)));

 

 

Dom4j操作xml文档

String xmlString = “<root><people>Harbor</people></root>”;

Document document = DocumentHelper.parseText(xmlString);

System.out.println(document.asXML());

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值