- 浏览: 284284 次
- 性别:
- 来自: 湖南
文章分类
- 全部博客 (120)
- Struts 1.框架 (12)
- Spring框架 (9)
- hibernate框架 (6)
- web 综合 (15)
- Dwr (1)
- struts 2 (19)
- 设计模式 (0)
- lucene (6)
- oracle (3)
- linux (10)
- mysql (4)
- jquery (0)
- AJAX (1)
- javaScript (1)
- J2SE (4)
- IBATIS (3)
- JPA (1)
- Compass (3)
- 报表 (1)
- 任务调度 (1)
- tomcat (3)
- RMI (0)
- JMS (2)
- WebService (2)
- SOAP (0)
- XML (1)
- 多线程 (8)
- 缓存 (2)
- nginx (3)
- mongodb (1)
- ant打包 (0)
最新评论
-
iceman1952:
Hi 你觉得很好的那两三篇 百度文库的链接,能贴一下吗?
内网穿透&UDP打洞 -
ice86rain:
里面貌似没有用到Lucene
Struts2+Hibernate3.2+Spring2.5+Compass整合 -
sgq0085:
写得非常详细 好文章
JMS之ActiveMQ Linux下安装与应用实例 -
強顔歓笶:
JMS之ActiveMQ Linux下安装与应用实例 -
yixiandave:
forcer521 写道不指定所有子目录都在一起的话,这样用源 ...
linux下nginx稳定版1.6.2安装
只是供自己参考
student.xml
结果:convert.xml
studenttests.xml
结果:
-*****************************************************-
import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; 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.Text; import org.xml.sax.SAXException; public class DomDML { /** * @param args */ public static void main(String[] args) { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance() ; try { DocumentBuilder db = dbf.newDocumentBuilder() ; Document dom = db.parse(new File("students.xml")) ; Element eleStu = dom.createElement("student") ; //eleStu.set eleStu.setAttribute("sn", "04") ; System.out.print("sn = "+eleStu.getAttribute("sn")) ; Element eleName = dom.createElement("name") ; Element eleAge = dom.createElement("age") ; Text textName = dom.createTextNode("王五") ; Text textAge = dom.createTextNode("26") ; eleName.appendChild(textName) ; eleAge.appendChild(textAge) ; eleStu.appendChild(eleName) ; eleStu.appendChild(eleAge) ; Element root = dom.getDocumentElement() ; root.appendChild(eleStu) ; Element stuNode = (Element)root.getElementsByTagName("student").item(0) ; stuNode.setAttribute("desc", "好样的") ; Node nodeAge = stuNode.getElementsByTagName("age").item(0) ; nodeAge.getFirstChild().setNodeValue("100") ; TransformerFactory tf = TransformerFactory.newInstance() ; Transformer tfr = tf.newTransformer() ; DOMSource domSource = new DOMSource(dom) ; StreamResult result = new StreamResult(new File("convert.xml")) ; tfr.transform(domSource, result) ; } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
student.xml
<students> <student sn="01"> <name>张三</name> <age>18</age> </student> <student sn="02" > <name>李四</name> <age>20</age> </student> <student sn="03" > <name>王五</name> <age>22</age> </student> </students>
结果:convert.xml
<?xml version="1.0" encoding="UTF-8"?> <students> <student desc="好样的" sn="01"> <name>张三</name> <age>100</age> </student> <student sn="02"> <name>李四</name> <age>20</age> </student> <student sn="03"> <name>王五</name> <age>22</age> </student> <student sn="04"><name>王五</name><age>26</age></student> </students>
import java.io.File; import java.io.IOException; import java.util.Stack; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.SAXNotRecognizedException; import org.xml.sax.SAXNotSupportedException; import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; public class SaxFirst extends DefaultHandler { Stack stack = new Stack() ; @Override public void endElement(String uri, String localName, String qName) throws SAXException { if (!stack.empty()){ String tag = (String)stack.pop() ; } } @Override public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub if (!stack.empty() && "name".equals(stack.peek())){ System.out.println(new String(ch,start,length)); } } @Override public void error(SAXParseException e) throws SAXException { System.out.println( "[error]"+ e.getException().getMessage()) ; } @Override public void fatalError(SAXParseException e) throws SAXException { // TODO Auto-generated method stub System.out.println("[fatalError]"+e.getException().getMessage()); } @Override public void warning(SAXParseException arg0) throws SAXException { // TODO Auto-generated method stub super.warning(arg0); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { System.out.println("stack : " + stack.size() + " " + stack.toString()); if (!stack.empty()){ stack.push(qName) ; return ; } if (qName.equals("student")){ if ("01".equalsIgnoreCase(attributes.getValue("sn"))){ stack.push(qName) ; } } } /** * @param args */ public static void main(String[] args) { SAXParserFactory spf = SAXParserFactory.newInstance() ; try { spf.setFeature("http://xml.org/sax/features/namespaces", true) ; spf.setValidating(true) ; SAXParser saxParser = spf.newSAXParser() ; saxParser.parse(new File("studenttests.xml"), new SaxFirst()) ; } catch (SAXNotRecognizedException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXNotSupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
studenttests.xml
<students xmlns:stu="http://www.cs.com/student"> <student sn="01"> <stu:age>18</stu:age> <name>张三</name> </student> <student sn="01"> <stu:age>20</stu:age> <name>里斯</name> </student> </students>
结果:
stack : 0 [] stack : 0 [] stack : 1 [student] stack : 1 [student] 张三 stack : 0 [] stack : 1 [student] stack : 1 [student] 里斯
-*****************************************************-
<?xml version="1.0" encoding="UTF-8"?> <InitDatas> <Modules> <Module name="信息管理" sn="xxgl" url="" orderNo="1000" > <Module name="公告信息" sn="news" url="news.do" orderNo="1001"/> <Module name="发布公告" sn="employee" url="news.do" orderNo="1002"/> </Module> <Module name="系统管理" sn="xtgl" url="" orderNo="2000" > <Module name="帐号信息" sn="user" url="user.do?deptId=0" orderNo="2001" visible="false" /> <Module name="角色信息" sn="role" url="role.do?deptId=0" orderNo="2002"/> <Module name="模块信息" sn="module" url="module.do?deptId=0" orderNo="2003"/> </Module> <Module name="教师管理" sn="jsgl" url="" orderNo="3000" > <Module name="作业信息" sn="taskinfo" url="student.do" orderNo="3001" visible="false" /> <Module name="发布作业任务" sn="homeworkinfo" url="task.do?method=makehome" orderNo="3002" /> <Module name="已发布的作业" sn="homeworkmaked" url="task.do?method=haveMaked" orderNo="3003" /> </Module> <Module name="学生管理" sn="xsgl" url="" orderNo="4000" > <Module name="作业成绩" sn="student" url="student.do?method=lookScore" orderNo="4001" visible="false" /> <Module name="作业提交记录" sn="homehistory" url="student.do?method=homehistory" orderNo="4002" /> <Module name="查看作业任务" sn="hometask" url="student.do?method=looktask" orderNo="4003" /> <Module name="资源共享区" sn="share" url="task.do?method=share" orderNo="4004" /> </Module> <Module name="个人系统管理" sn="sytemmgr" url="" orderNo="5000"> <Module name="密码修改" sn="chgpsw" url="user.do?method=chgpsw" orderNo="5001"/> <Module name="查看个人信息" sn="selfInfof" url="student.do?method=selfInfo" orderNo="5002"/> <Module name="系统初始化" sn="systeminit" url="systeminit.do" orderNo="5003"/> </Module> </Modules> </InitDatas>
import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import com.cs.model.Module; import com.cs.util.SystemException; public class InitModules { private ModuleMgr moduleMgr ; public void initDatas(String xmlFilePath) { try { Document doc = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream(xmlFilePath)) ; List modules = doc.selectNodes("//Modules/Module") ; addModules(modules , null ) ; } catch (DocumentException e) { e.printStackTrace(); throw new SystemException("初始化模块数据异常") ; } } public void addModules(List modules,Module parent) { for (int i = 0 ; i < modules.size() ; i++ ) { Element element = (Element)modules.get(i) ; Module m = new Module() ; m.setName(element.attributeValue("name")) ; m.setOrderNo(Integer.parseInt(element.attributeValue("orderNo"))) ; m.setParent(parent) ; m.setSn(element.attributeValue("sn")) ; m.setUrl(element.attributeValue("url")) ; String strVisible = element.attributeValue("visible") ; boolean visible = true ; if ("false".equalsIgnoreCase(element.attributeValue("visible"))){ visible = false ; } System.out.println(m.getName()); m.setVisible(visible) ; moduleMgr.addModule(m) ; addModules(element.selectNodes("Module"),m) ; } } public void setModuleMgr(ModuleMgr moduleMgr) { this.moduleMgr = moduleMgr; } }
发表评论
-
ANT合并多个第三方包
2015-06-18 16:31 904<project name="cmgr.ivy ... -
jsp国际化处理方式
2014-11-21 10:12 574示例标签: <fmt:message key=&quo ... -
gamecard
2013-07-16 23:37 686的地方的的方式个地方 -
支付
2013-05-06 23:12 659发到飞肥嘟嘟发的发的 -
marven
2013-05-05 23:12 722行业应用管理 -
框架开发
2013-03-21 20:25 752框架开发 版本1.0 -
框架开发
2013-03-21 00:25 0框架开发版本1 -
JavaMail的邮件实例
2011-01-26 16:35 1083简单的邮件实例 package com.wzh.mail ... -
自定义标签的编写
2010-10-20 23:45 1263编写处理类 package com.o ... -
ssh整合的web配置顺序解析
2010-10-20 21:01 2402web.xml的一份模板 整合ssh2+dwr <? ... -
Struts2+Hibernate3.2+Spring2.5+Compass整合
2010-10-10 01:34 3006之前学习了Compass 现在整合下ssh2+Compass ... -
web中的dao模板
2010-07-31 01:08 1603在web项目中 我们可能会针对每一个实体写一个dao ... -
MVC面试题:有了stuts的mvc为什么还要spring的mvc
2010-07-28 19:33 23583今天一同学 去面试 关于mvc的面试题 面试官问道:有了st ... -
ssh2整合问题+ssh2源代码下载
2010-07-13 19:29 3924[/b]整合sreuts2.1.8+hibernate3.2+ ... -
利用组件分页
2010-06-13 14:22 1159. 如何分页? 1.把pager-taglib.jar ...
相关推荐
易语言XML解析是编程领域中的一个重要主题,尤其对于使用易语言进行开发的程序员来说,理解并掌握XML(可扩展标记语言)的解析方法是至关重要的。XML作为一种结构化数据存储和交换格式,广泛应用于网络通信、配置...
java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...
根据给定文件中的标题、描述、标签以及部分内容,可以总结并深入探讨以下关于C#中XML解析的关键知识点: ### C#中的XML解析方式 #### 1. XML Text Reader(流式解析) - **简介**:在.NET框架中,`XMLTextReader`...
在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)这个强大的图形化编程环境中,XML解析器是处理和操作XML数据的关键工具。本示例主要展示了如何在LabVIEW中实现XML文件的加载、保存和解析。 首先...
本文将详细介绍XML解析文件的两种主要方式:SAX(Simple API for XML)和DOM(Document Object Model)。 **1. DOM解析** DOM解析方式是将整个XML文档加载到内存中,构建一个树形结构,称为DOM树。这个树的每个...
本文将深入探讨XML解析和生成工具的相关知识,以及如何利用提供的`Markup.cpp`和`Markup.h`文件进行操作。 XML的结构: XML文档由一系列元素构成,每个元素都有一个开始标签和结束标签,如 `<tag>` 和 `</tag>`。...
在Java中,XML解析有四种主要的方法:DOM、SAX、JDOM和DOM4J。 1. DOM(文档对象模型)是W3C推荐的标准,它将XML文档转换为一棵树形结构,允许开发者通过节点遍历和操作XML内容。DOM的优势在于它提供了一种灵活的...
本教程将介绍如何在iOS应用中实现简单的XML解析,并提供了一个名为"UITableViewTricks"的DEMO,供开发者们参考学习。 XML文件结构清晰,易于理解,但在iOS中解析XML数据并非内置功能,需要借助第三方库或者Apple...
MusicXML是一种开放标准的音乐符号交换格式,它允许数字音乐...总之,"MusicXML解析与布局"项目涵盖了XML解析、数据结构设计、图形渲染、音乐理论等多个方面的知识,对于深入理解音乐和计算机科学的结合具有重要意义。
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...
在嵌入式系统中,由于资源限制,往往需要轻量级且高效的XML解析器。"minixml"就是这样一个专为嵌入式系统设计的开源XML解析器,它提供DOM(Document Object Model)支持,使得开发者能够方便地处理XML文档。 mini...
Java XML解析是Java开发中的一项重要技能,尤其是在处理结构化数据时。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换和文档存储等领域。本压缩包“java心电图xml解析....
XML解析支持库则是用于处理XML文档的核心工具,它们帮助开发者有效地读取、解析、创建和操作XML数据。 在Java开发中,常见的XML解析库有DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming...
XML解析技术是XML应用的核心,它涉及将XML文档转换为可处理的结构化数据。XML,全称为eXtensible Markup Language,是一种元语言,用于描述结构化数据,独立于编程语言、操作系统和传输协议。W3C联盟自1996年开始...
理解和熟练使用XML解析器是任何IT专业人士的必备技能之一,无论是在移动应用、Web服务还是桌面应用程序中,XML解析都发挥着关键作用。了解和掌握TinyXML这样的解析库,可以帮助开发者更高效地处理XML数据。
XML解析器是处理XML文档的核心组件,它能够读取XML文件并将其内容转换为程序可以理解的形式。在Java环境中,XML解析器通常以JAR(Java Archive)文件的形式提供,方便开发者集成到项目中。 "XML解析器下载JAR包"这...
XML解析方式是一种高效且灵活的方法,能够帮助我们实现这一目标。本篇文章将详细探讨如何利用Java和XML解析来自动化创建Word文档。 首先,我们需要了解XML的结构。XML(Extensible Markup Language)是一种标记语言...
本资源包主要关注的是Linux环境下的XML解析,特别是开源代码的应用。 标题中的“Linux XML解析资源”指的是在Linux操作系统中处理和解析XML文档的相关工具和技术。在Linux世界里,由于其开源和自由软件的理念,有...
本压缩包包含了一个C#原创的XML解析程序,以及其在实际应用中的例子,帮助我们深入理解XML解析的原理和实践。 XML文档由一系列元素组成,每个元素可以有子元素和属性,通过这些元素,XML可以描述复杂的数据结构。在...
解析XML为树状结构是通过XML解析器完成的,这些解析器可以分为DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)等几种类型。 1. DOM解析器:它将整个XML文档加载到内存中...