- 浏览: 636979 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
spring_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java.math.BigDecimal类的用法 -
tuspark:
文章写的挺详细了,但是感觉太乱了,真不如这篇文章: BigDe ...
java.math.BigDecimal类的用法 -
u010040765:
感谢楼主分享,写的很详细,很容易看懂
Struts2中iterator标签遍历map总结 -
若无勇气终将褪去:
[flash=200,200][url][list][*][/ ...
java.math.BigDecimal类的用法 -
若无勇气终将褪去:
...
java.math.BigDecimal类的用法
/** * 注意:需要导入dom4j-1.6.1.jar,jaxen-1.1-beta-6.jar 两个包 *如果没有导入jaxen-1.1-beta-6.jar 这个包,则会报错: java.lang.noclassdeffounderror: org/jaxen/jaxenexception */ package jeelee.main; import java.io.File; import java.io.FileWriter; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; /** * 功能:对xml的操作 * @author jeelee */ public class XMLOperation { Document document = null ; Element rootElement = null,element = null; SAXReader saxReader = null ; List list = null ; Iterator iterator = null ; Attribute attribute = null; /** *功能:构造函数,加载XML,创建Document *@param fileName,String 类型,XML文件名 *@return 无 */ public XMLOperation(String fileName) { try { saxReader = new SAXReader(); File file = new File(fileName); if(!file.exists()) { System.out.println(fileName + " 文件不存在!"); } document = saxReader.read(fileName); } catch(Exception ex) { ex.printStackTrace(); } } /** * 功能:获得根节点 * @param fileName,String类型, XML文件名 * @return Element 类型,返回根节点 */ public Element getRootElement(String fileName) { Element rootElement = null ; try { SAXReader saxReader = new SAXReader() ; Document document = saxReader.read(new File(fileName)); rootElement = document.getRootElement(); } catch(Exception ex) { ex.printStackTrace(); } return rootElement ; } /** * 功能:获得指定节点的值 * @param elementStr,String 类型, 指定的节点 * @return 无 */ public String getElementValue(String elementStr) { String valueStr = "" ; list = document.selectNodes(elementStr); iterator = list.iterator(); while(iterator.hasNext()) { element = (Element)iterator.next(); valueStr = element.getText(); } return valueStr ; } /** * 功能:获得指定节点的指定属性的值 * @param attribueStr,String 类型, 指定的节点 * @return 无 */ public String getAttributeValue(String attribueStr) { String valueStr = "" ; list = document.selectNodes(attribueStr); iterator = list.iterator(); while(iterator.hasNext()) { Attribute attribute = (Attribute)iterator.next(); valueStr = attribute.getValue(); } return valueStr ; } /** * 功能:设置指定节点的值,调用此函数后需要调用writeXML(String fileName)函数以保存修改结果 * @param elementStr, String 类型,指定的节点; * @param valueStr String 类型 * @return 无 */ public void setElementValue(String elementStr,String valueStr) { list = document.selectNodes(elementStr); iterator = list.iterator(); while(iterator.hasNext()) { element = (Element)iterator.next(); element.setText(valueStr); } } /** * 功能:设置指定节点的指定属性值,调用此函数后需要调用writeXML(String fileName)函数以保存修改结果 * @param attributeStr,String 类型,指定节点的指定属性 * @param attributeValue,String 类型,属性值 * @return 无 */ public void setAttributeValue(String attributeStr,String attributeValue) { list = document.selectNodes(attributeStr); iterator = list.iterator(); while(iterator.hasNext()) { Attribute attribute = (Attribute)iterator.next(); attribute.setValue(attributeValue); } } /** * 功能:在指定的节点下增加一个子节点,并为其指定值,调用此函数后需要调用writeXML(String fileName)函数以保存修改结果 * @param parentElement,String 类型,指定的父节点 * @param childElementStr,String 类型,要增加的子节点 * @param elementValue,String 类型,新增子节点的值 * @return 无 */ public void addElement(String parentElement,String childElementStr,String elementValue) { list = document.selectNodes(parentElement); iterator = list.iterator(); while(iterator.hasNext()) { element = (Element)iterator.next(); Element childElement = element.addElement(childElementStr); childElement.setText(elementValue); } } /** * 功能:在指定的节点中增加一个属性,并为其指定值,调用此函数后需要调用writeXML(String fileName)函数以保存修改结果 * @param parentElement,String 类型,指定的父节点 * @param newAttribute,String 类型,要增加的属性 * @param attributeValue,String 类型,新增属性的值 * @return 无 */ public void addAttribute(String element,String newAttribute,String attributeValue) { list = document.selectNodes(element); iterator = list.iterator(); while(iterator.hasNext()) { Element elem = (Element)iterator.next(); Attribute attribute = (Attribute) elem.addAttribute(newAttribute, attributeValue); } } /** * 功能:删除一个节点下的子节点,调用此函数后需要调用writeXML(String fileName)函数以保存修改结果 * @param parentElement,String 类型,父节点 * @param childElement,String 类型,要删除的子节点 */ public void deleteElement(String parentElement,String childElement) { list = document.selectNodes(parentElement); iterator = list.iterator(); while(iterator.hasNext()) { element = (Element)iterator.next(); Iterator iter = element.elementIterator(childElement); while(iter.hasNext()) { Element elem = (Element)iter.next(); element.remove(elem); } } } /** * 功能:删除一个节点的属性,调用此函数后需要调用writeXML(String fileName)函数以保存修改结果 * @param elementStr,String 类型,指定的节点;attributeStr,String 类型,指定要删除的属性 * @return 无 */ public void deleteAttribute(String elementStr,String attributeStr) { list = document.selectNodes(elementStr); iterator = list.iterator(); List lst = document.selectNodes(elementStr + "/@" + attributeStr); Iterator iter = null ; while(iterator.hasNext()) { element = (Element)iterator.next(); System.out.println("节点:"+element.getName()); iter = lst.iterator(); while(iter.hasNext()) { attribute = (Attribute)iter.next(); System.out.println("属性:"+attribute.getName()); element.remove(attribute); } } } /** * 功能:写入XML文件 * @param fileName,String 类型,要写入的XML文件 * @return returnValue,int 类型,1:表示写入成功,0:表示写入失败 */ public int writeXML(String fileName) { int returnValue = 0 ; try { XMLWriter writer = new XMLWriter(new FileWriter(new File(fileName))); writer.write(document); writer.close(); returnValue = 1 ; } catch(Exception ex) { ex.printStackTrace(); returnValue = 0 ; } return returnValue ; } /** * 功能:格式化XML文档,并解决中文问题 * @param filename ,String 类型,要格式化的XML文件名 * @return int */ public int formatXMLFile(String filename) { int returnValue = 0; try { SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new File(filename)); XMLWriter output = null; /**格式化输出,类型IE浏览一样*/ OutputFormat format = OutputFormat.createPrettyPrint(); /** 指定XML字符集编码 */ format.setEncoding("UTF-8"); output = new XMLWriter(new FileWriter(new File(filename)),format); output.write(document); output.close(); /**执行成功,需返回1 */ returnValue = 1; } catch(Exception ex) { ex.printStackTrace(); } return returnValue ; } /** * 作用:遍历 xml * @param element,Element 类型,指定遍历的节点 * @return 无 */ public void visitXML(Element element) { Iterator iter = element.elementIterator(); while (iter.hasNext()) { element = (Element)iter.next(); Iterator iter2 = element.elementIterator(); if (!iter2.hasNext()) { System.out.println("节点:"+element.getName()+"节点值:"+element.getText()); } visitXML(element); } } }
XML文件:
<?xml version="1.0" encoding="UTF-8"?> <calendar> <config> <tiprate>12</tiprate> <tip>Y</tip> <autorun>N</autorun> <clock>3.swf</clock> <alpha>100</alpha> <winlocal>1</winlocal> <wintop>Y</wintop> </config> </calendar>
发表评论
-
java mail
2018-04-24 20:50 415javaMail使用163邮箱报535 Error: auth ... -
==与equals的区别
2016-05-23 20:54 555==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储 ... -
jquery ajax 实现调用一个action中多个方法
2015-09-17 21:15 1020struts.xml如下: <package nam ... -
struts2.2.3 web.xml配置变化
2011-12-24 16:09 1235<filter> <filter-n ... -
dom4j构造XML时产生中文乱码
2010-08-26 21:00 1286格式化输出XML文件时候,如果输出UTF-8格式 Outpu ... -
iReport 连接oracle
2010-06-11 20:14 3505环境:WinXP、iReport1.2.8、Oracle 10 ... -
java.math.BigDecimal类的用法
2010-04-24 11:38 126744在java中提供了大数字的 ... -
Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法
2010-04-04 13:57 246971.利用jdk自带的API获取信息:(只支持jdk1.60以上 ... -
获得IP
2010-04-02 09:00 1153Enumeration<NetworkInterface ... -
JAVA反射机制(reflection)
2010-03-25 17:59 1877/* * Created on 2010-3-25 * ... -
java 比较字符串的大小
2010-03-24 21:49 2396按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Uni ... -
[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source
2009-12-30 20:55 2234The APR based Apache Tomcat Nat ... -
java中的一个逻辑判断问题
2009-12-30 20:38 1963情况是这样的: 假设一个变量:String stopRmk ; ... -
List 遍历
2009-12-26 15:16 1134/** * */ package org.jeelee. ... -
java 读文件,按行读取,将读取的结果放入数组中
2009-12-22 17:58 7785import java.io.*; public c ... -
java 数据类型的转换
2009-12-10 23:01 11941,整型-->符串型: int n=100; S ... -
List的排序
2009-12-06 15:48 1241package org.jeelee.bean; i ... -
关于@SuppressWarnings("unchecked")
2009-12-06 15:38 2340解释一: ... -
Java之static用法(详解)
2009-11-26 20:39 7037在Java语言中,static表示 ... -
HashMap 的用法
2009-11-11 22:28 1507在Java的世界里,无论类还是各种数据,其结构的处理是整个程序 ...
相关推荐
本文将深入探讨如何使用Java来读取XML数据。 首先,我们需要了解XML的基本结构。XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。每个XML文档都有一个根元素,其他元素则嵌套在根...
Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...
要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...
使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...
在Java编程中,读取XML文件并将其转换为树形结构是一种常见的操作,尤其是在处理配置文件、数据交换或解析XML文档时。以下是一篇详细解释如何实现这一过程的文章。 首先,我们需要了解XML(eXtensible Markup ...
#### 三、Java读取XML文件 对于XML文件的读取,我们可以采用Java标准库中的`BufferedReader`配合`InputStreamReader`的方式来进行处理。这样可以在读取文件的同时指定正确的字符编码,从而避免乱码问题。 ```java ...
Java 读取 XML 文件内容的四种方法 Java 语言提供了多种方法来读取 XML 文件内容,以下是四种常见的方法: 1. DOM(Document Object Model) DOM 是一种基于树的模型,它将 XML 文档表示为一个层次结构的节点或...
Java读取XML文件是开发过程中常见的任务,JDOM是一个用于处理XML文档的Java库,它提供了方便、高效的方式来创建和操作XML数据。本篇将详细讲解如何使用JDOM来读取XML文件,以及相关的源码解析。 首先,我们需要了解...
在Java编程中,读取XML(eXtensible Markup Language)文件内容是一项常见的任务,尤其在处理配置数据、数据交换或者存储结构化信息时。XML因其可读性强、结构清晰的特点,被广泛应用于各种场景。本篇文章将详细介绍...
在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明。 首先,Java中的`javax.xml.parsers`和`org.w3c.dom`包提供了处理XML的基本工具。`javax.xml....
Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常见的方法,分别使用 DOM、DOM4J、JDOM 和 SAX 解析器。 第一种方法:使用 DOM DOM(Document Object Model)是一种树形结构,...
在“java读取XML用到的jar包集合”中,包含了9个关键的JAR文件,它们提供了处理XML所需的API和功能。以下是这些JAR文件可能包含的重要知识点: 1. **JAXB (Java Architecture for XML Binding)** JAXB是Java标准版...
在Java编程中,处理XML文件是常见的需求,包括创建XML文件、读取XML文件以及解析XML内容。下面将详细介绍Java如何进行XML文件的操作。 一、Java写XML文件 1. 使用DOM(Document Object Model)API: DOM是W3C推荐...
Java操作XML工具包是开发过程中不可或缺的部分,尤其是在处理与数据交换、配置文件或者与服务器通信相关的任务时。这里提到的两个关键库——XStream和DOM4J,都是Java中广泛使用的XML处理工具。 XStream是一个Java...
在实际应用中,我们可能需要读取XML文件中的数据,例如,使用DOM API的`DocumentBuilderFactory`和`DocumentBuilder`来创建`Document`对象,然后通过`getElementsByTagName`、`getElementsByTagnameNS`等方法查找...
Java提供了多种库来解析和操作XML文档,其中JDOM(Java Document Object Model)是一个广泛使用的开源库,它提供了简单且强大的API来读取、创建和修改XML文档。 ### Java解析XML字符串 在给定的代码示例中,我们...
在Java编程中,读取XML文件并从中获取Oracle数据库连接是一项常见的任务,特别是在需要动态配置数据库连接信息的应用中。XML文件通常被用作配置文件,因为它具有良好的结构和可读性,适合存储像数据库连接这样的配置...
SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件
本教程将重点介绍如何使用SAXReader在Java中读取XML文件。 SAXReader是JDOM库中的一个类,它实现了SAX解析器接口,适用于处理大型XML文档,因为它不会将整个XML文档加载到内存中,而是采用事件驱动的方式,逐个处理...
java从xml中读入数据并存入到sqlserver2005数据库中