Bbsxml.java

public class Bbsxml {
private String imgsrc;
private String title;
private String url; public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getImgsrc() {
return imgsrc;
}
public void setImgString imgsrc) { < /span>
this.imgsrc = imgsrc;
} public static void main(String[] args) {
// TODO Auto-generated method stub } }

XmlOprate.java

public class XmlOprate {
Document doc;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
NodeList imags;
String path; public NodeList getImags() {
return imags;
} public void setImags(NodeList imags) {
this.imags = imags;
} /**
* 构造方法
*
* @param path
* :xml文件的路径
* @param nodes
* :要解析的xml节点名称
*/
public XmlOprate(String path) {
super();
this.path = path;
// System.out.println(System.getProperty("user.dir"));
} /**
* 解析XML
*
* @param path
*/
public void readXml() {
try {
builder = factory.newDocumentBuilder();
Document doc = builder.parse(path);
doc.normalize(); NodeList imags = doc.getElementsByTagName("imags");
this.setImags(imags);
for (int i = 0; i < imags.getLength(); i++) {
Element link = (Element) imags.item(i);
System.out.print("imgsrc=\'#\'" /span>);
System.out.println(link.getElementsByTagName("imgsrc").item(0)
.getFirstChild().getNodeValue());
System.out.print("title: ");
System.out.println(link.getElementsByTagName("title").item(0)
.getFirstChild().getNodeValue());
System.out.print("url: ");
System.out.println(link.getElementsByTagName("url").item(0)
.getFirstChild().getNodeValue());
System.out.println();
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } /**
* http://www.ablanxue.com 解析XML,返回List集合,Bbsxm
* 只是一个普通的javabean,只提供get,set的方法l,在此不写出,可自己创建了
*
* @param path
*/ public List<Bbsxml> xml() {
List<Bbsxml> list = null;
list = new ArrayList<Bbsxml>();
try {
builder = factory.newDocumentBuilder();
Document doc = builder.parse(path);
doc.normalize();
Bbsxml bbsxml = null;
NodeList imags = doc.getElementsByTagName("imags");
this.setImags(imags);
for (int i = imags.getLength() - 1; i > -1; i--) {
Element link = (Element) imags.item(i); bbsxml = new Bbsxml();
bbsxml.setImglink.getElementsByTagName("imgsrc").item(0)
.getFirstChild().getNodeValue());
bbsxml.setTitle(link.getElementsByTagName("title").item(0)
.getFirstChild().getNodeValue());
bbsxml.setUrl(link.getElementsByTagName("url").item(0)
.getFirstChild().getNodeValue());
list.add(bbsxml); }
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} return list;
} /**
* addCode
*
* @param path
*/
public void addXmlCode(String imgsrc, String title, String url) { try {
builder = factory.newDocumentBuilder();
Document doc = builder.parse(path);
doc.normalize(); Text textseg;
Element imag = doc.createElement("imags"); Element linkimgsrc = doc.createElement("imgsrc");
textseg = doc.createTextNode(imgsrc);
linkimgsrc.appendChild(textseg);
imag.appendChild(linkimgsrc); Element linktitle = doc.createElement("title");
textseg = doc.createTextNode(title);
linktitle.appendChild(textseg);
imag.appendChild(linktitle); Element linkurl = doc.createElement("url");
textseg = doc.createTextNode(url);
linkurl.appendChild(textseg);
imag.appendChild(linkurl); doc.getDocumentElement().appendChild(imag); TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer; transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File(path));
transformer.transform(source, result);
} catch (Exception e) { }
} /**
* delete xml code
*
* @param path
*/
public void delXmlCode() { try {
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
doc = builder.parse(path);
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
doc.normalize();
NodeList imags = doc.getElementsByTagName("imags"); // if (imags.getLength() > 9) {
// 删除节点
Element elink = (Element) imags.item(0);
elink.removeChild(elink.getElementsByTagName("imgsrc").item(0));
elink.removeChild(elink.getElementsByTagName("title").item(0));
elink.removeChild(elink.getElementsByTagName("url").item(0)); doc.getFirstChild().removeChild(elink); TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = null;
try {
transformer = tFactory.newTransformer();
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File(path));
try {
transformer.transform(source, result);
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// } } public static void main(String[] args) {
XmlOprate xm = new XmlOprate("data.xml");
// xm.readXml();
// xm.addXmlCode("images/1.gif", "xuexiii", "http://www.baidu.com");
xm.delXmlCode();
} }

  

data.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
<imags>
<imgsrc>images/ad-02.jpg</imgsrc>
<title>java读取xml文件</title>
<url>http://www.ablanxue.com</url>
</imags>
<imags>
<imgsrc>images/1.gif</imgsrc>
<title>xuexiii</title>
<url>http://www.baidu.com</url>
</imags>
</root>

JSP页面直接操作 xml.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="javax.xml.parsers.*"%>
<%@ page import="org.w3c.dom.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%
//建立一个解析器工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//获得一个具体的解析器对象
DocumentBuilder builder = factory.newDocumentBuilder();
//对XML文档进行解析,获得Document对象
Document doc = builder.parse(request.getRealPath("/")+ "WEB-INF/data.xml");
doc.normalize();
//获取所有的book元素列表
NodeList books = doc.getElementsByTagName("book");
%>
</head>
<body>
<h2>图书列表</h2>
<br>
<%
for (int i = 0; i < books.getLength(); i++) {
//获取一个book元素
Element book = (Element) books.item(i);
//以下获取book的子元素,并输出
out.print("title:");
out.println(book.getElementsByTagName("title").item(0).getFirstChild().getNodeValue());
out.print("<br>");
out.print("URL:");
out.println(book.getElementsByTagName("url").item(0).getFirstChild().getNodeValue());
out.print("<br>");
out.print("Author:");
out.println(book.getElementsByTagName("author").item(0).getFirstChild().getNodeValue());
out.print("<br>");
out.print("Date:");
Element bookdate = (Element) book.getElementsByTagName("date").item(0);
String day = book.getElementsByTagName("day").item(0).getFirstChild().getNodeValue();
String month = book.getElementsByTagName("month").item(0).getFirstChild().getNodeValue();
String year = book.getElementsByTagName("year").item(0).getFirstChild().getNodeValue();
out.println(day + "-" + month + "-" + year);
out.print("<br>");
out.print("Description:");
out.println(book.getElementsByTagName("description").item(0).getFirstChild().getNodeValue());
out.print("<br><br>");
}
%>
</body>
</html>

Java操作xml文件的更多相关文章

  1. Java操作XML文件 dom4j 篇

    在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互.今天就来讲一下Java 中使用dom4j来操作XML文件. 我们需要引入的包: //文件包 import java.io. ...

  2. 用java操作XML文件(DOM解析方式)

    XML 可扩展标记语言(Extensible Markup Language),是独立于软件和硬件的传输工具. XML的作用: (1)用作配置文件 (2)简化数据共享 (3)简化数据传输 XML DO ...

  3. java操作XML文件--读取内容

          先把问题贴出来:编写一个可以解析xml及修改xml内容的工具类       由于我以前做过Android应用程序开发,之前也解析过xml文件,所以,这道题不是很难,这篇文章我先解决第一个问 ...

  4. java操作xml文件--修改节点

          上一篇文章我介绍了SAX方法解析XML文件的过程,这篇文章讲解的内容是利用DOM方法修改XML文件的节点内容.       下面依然是首先贴出XML文件: <?xml version ...

  5. Java操作xml文件的jar包dom4j

    只能解析xml文件,不能解析普通的文件 https://www.cnblogs.com/sharpest/p/7877501.html

  6. 更新java对xml文件的操作

    //更新java在xml文件中操作的内容 public static void upda(Document doc) throws Exception{ //创建一个TransformerFactor ...

  7. JAVA中通过Jaxp操作XML文件基础

    Java中有多种方式操作XML文件,目前讲一讲以SUN公司提供的DocumentBuilderFactory工厂类对象操作XML. 使用XML基本操作就是需要CRUD(增删改查),那么首先通过一个查询 ...

  8. # java对xml文件的基本操作

    下面是简单的总结三种常用的java对xml文件的操作 1. dom方式对xml进行操作,这种操作原理是将整个xml文档读入内存总,在内存中进行操作,当xml文档非常庞大的时候就会出现内存溢出的异常,这 ...

  9. JAVA读取XML文件并解析获取元素、属性值、子元素信息

    JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取  InputStream   DocumentBuilderFactory   Element     Node 前言 最 ...

随机推荐

  1. jQuery 遍历 - slice() 方法

    实例 选中所有段落,然后将所选内容缩减为只包含第一和第二个段落: $("p").slice(0, 2).wrapInner(""); 亲自试一试 定义和用法 s ...

  2. 玩转数据库之 Group by Grouping

    有的时候我们要从数据库里把数据组织成树结构再展现到页面上 像下面这样 今天我们用Group 和Grouping实现它,并总结一下它俩. 先看一下概念,再用代码一点一点去理解它们,最后我会给出完整的代码 ...

  3. Node基础:资源压缩之zlib

    概览 做过web性能优化的同学,对性能优化大杀器gzip应该不陌生.浏览器向服务器发起资源请求,比如下载一个js文件,服务器先对资源进行压缩,再返回给浏览器,以此节省流量,加快访问速度. 浏览器通过H ...

  4. 【niubi-job——一个分布式的任务调度框架】----FAQ文档

    引言 本文为niubi-job的FAQ文档,该文档会无限更新.如果您在这里没有找到您想要的答案,请把问题提交到这里. FAQ 1.为什么我的所有任务总是运行在同一个节点上,而没有平均分配到所有节点上? ...

  5. Git.Framework 框架随手记--ORM条件组合

    在上一篇<Git.Framework 框架随手记--ORM新增操作>中简单记录了如何对数据进行删除和修改,其用法都非常简单,在文章中提到了Where()方法,本文将详述Where() 等条 ...

  6. Bootstrap2和3的区别

    如果你需要兼容IE8甚至是IE7和IE6,那么只能选择Bootstrap2,虽然它自身在IE6的效果也并不完美.     但是倘若你跟随时代的脚步,并且面向的客户也很高端大气上档次地选择只需要兼容高级 ...

  7. linux中的帮助命令

    关键字 man --help help 1.man (1)查看命令 man 命令用来查看别的命令的信息和用法,如man ls表示查看ls的介绍以及用法: (2)查看配置文件的帮助文档 linux下的配 ...

  8. 第十课:CSS选择器的介绍和区分

    IE7以及以下版本: getElementById是不区分表单元素ID与Name的,因此如果有一个表单元素只定义name,并与我们的目标元素ID同名,并且我们的目标元素在它的后面,那么就会选择到那个表 ...

  9. WPF中RadioButton的分组

    当界面上出现多组Radiobutton时,将所有的Radiobutton写在同一个Grid里面,导致系统认为所有的Radiobutton是同一组,造成选择混乱,解决的方法: 1.要为属于同个组的Rad ...

  10. groovyConsole — the Groovy Swing console

    1. Groovy : Groovy Console The Groovy Swing Console allows a user to enter and run Groovy scripts. T ...