1、解析xml
<?xml version="1.0" encoding="gbk"?>
<a>
<user id="1">
<name>jack</name>
<age>23</age>
</user>
<user id="2">
<name>lucy</name>
<age>22</age>
</user>
</a>
------------------------------------------------------------------------------------
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class MyXMLReader {
public static void main(String[] arge) {
try {
SAXReader reader=new SAXReader();
Document doc=reader.read(new File("c://test2.xml"));
Element root= doc.getRootElement();
Iterator iterator=root.elementIterator("user");
while(iterator.hasNext()){
Element user=(Element)iterator.next();
String id=user.attributeValue("id");
System.out.println("id号码:"+id);
String name=user.elementText("name");
System.out.println("用户名字:"+name);
String age=user.elementText("age");
System.out.println("年龄:"+age);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
==========================================================
2、生成xml文档与修改xml文档
import java.io.FileWriter;
import java.io.Writer;
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;
public class Dom4JXML {
public void createXML(){
Document doc=DocumentHelper.createDocument();
Element rootEle=doc.addElement("emps");
rootEle.addComment("这是一个dom4j生成的XML文件");
Element empEle=rootEle.addElement("emp");
empEle.addAttribute("id", "1");
Element nameEle=empEle.addElement("name");
nameEle.setText("jack");
Element sexEle=empEle.addElement("sex");
sexEle.addText("man");
try{
Writer out=new FileWriter("c://emps.xml");
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter writer= new XMLWriter(out,format);
writer.write(doc);
writer.close();
System.out.println("生成的emps.xml成功。");
}catch(Exception e){
e.printStackTrace();
}
}
public void updateXML(){
try {
SAXReader reader= new SAXReader();
Document doc=reader.read("c://emps.xml");
List listId=doc.selectNodes("//emps//emp//@id");
Iterator idIterator=listId.iterator();
while(idIterator.hasNext()){
Attribute attribute=(Attribute)idIterator.next();
attribute.setValue("001");
}
List listName=doc.selectNodes("//emps//emp//name");
Iterator nameIterator=listName.iterator();
while(nameIterator.hasNext()){
Element eleName= (Element)nameIterator.next();
eleName.setText("张三");
}
List listSex=doc.selectNodes("//emps//emp");
Iterator sexIterator=listSex.iterator();
while(sexIterator.hasNext()){
Element eleSex=(Element)sexIterator.next();
Iterator ite=eleSex.elementIterator("sex");
while(ite.hasNext()){
Element sexEle=(Element)ite.next();
eleSex.remove(sexEle);
}
}
Writer out=new FileWriter("c://emps(update).xml");
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter writer= new XMLWriter(out,format);
writer.write(doc);
writer.close();
System.out.println("生成的emps(update).xml成功。");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
Dom4JXML dom4jxml=new Dom4JXML();
dom4jxml.createXML();
dom4jxml.updateXML();
}
}
分享到:
相关推荐
2. XML的结构和解析:了解XML的基本结构,如元素、属性、命名空间,以及如何使用DOM(Document Object Model)或SAX(Simple API for XML)等解析器来处理XML文档。 3. AJAX的基础知识:理解异步请求的工作原理,...
4. 平台和语言无关:XML数据可以在任何支持XML的平台或编程语言中解析和生成。 在XML相关的考试中,可能涉及: 1. XML的基本语法,如声明、元素、属性、注释、实体引用等。 2. DTD(文档类型定义)或XML Schema...
* 使用 JSP 技术生成 XML 文档,然后使用 XML 解析器解析和处理数据。 XML 的特点 XML 的特点是: * 自由扩展性:XML 可以根据需要定义标记和结构。 * 平台独立性:XML 可以在不同的平台上运行。 * 数据交换性:...
- **XML与JSP集成方案**:通过JSP的JSTL(JavaServer Pages Standard Tag Library)和DOM或SAX解析XML文档,将数据呈现到网页上。 - **XML的优越性**:XML提供了自定义标签的能力,适用于跨平台数据交换,且有丰富...
- **灵活性**:XML可以用来存储和传输各种类型的数据,而JSP则负责动态生成XML文档或解析XML数据。 - **可扩展性**:XML的数据格式易于扩展,可以轻松地适应新的数据需求,而JSP则可以灵活地处理这些变化。 9. **...
- **SAX**:适用于大型文件的处理,它采用事件驱动的方式逐行解析XML文档,节省内存资源。 - **DOM**:将整个XML文档加载到内存中,并提供一个树状结构来访问和操作文档节点。 **1.11 什么类型的SAX 事件被SAX 解析...
综上所述,从提供的代码片段中,我们不仅学习到了如何编写能够处理浏览器差异的XML与String转换函数,也复习了XML的基础知识、DOM解析器的作用以及在Web开发中XML数据的应用情况。同时,我们也讨论了JSON在数据交换...
### 最新系统分析师考试复习资料知识点汇总 #### 一、开发技术:语言与平台 - **JavaBean组件模型特点** - JavaBean 是一种 Java 类,它遵循特定的编写规范,通常用来封装业务逻辑或数据。 - **封装性**:...
学习DOM、SAX和StaX等解析XML的方法,以及JAXB进行对象到XML和XML到对象的转换。 9. **JSON处理**:JSON(JavaScript Object Notation)轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。熟悉...
- **解析XML**:DOM、SAX和StAX等解析方式及其应用场景。 - **XSLT**:转换XML文档以生成不同的表示形式。 - **XML Schema**:用于定义XML文档的结构和数据类型。 - **XML与Java的结合**:如使用JAXB进行XML和...
- **XML解析**:在服务器端使用SAX或DOM解析XML数据,并在JSP中显示结果。 - **XSL-FO**:用于生成复杂布局的PDF或打印文档。 ### 知识点六:DOM与SAX #### DOM - **全称**:Document Object Model,文档对象模型...
- **灵活性**:JSP 可以根据需要动态生成 XML 内容。 - **XML 的特点** - **开放性**:基于标准的文本格式,容易阅读和理解。 - **结构化**:使用标签来组织数据。 - **可扩展性**:可以自定义标签来适应不同的...
### y2考试复习题知识点详解 #### 1. 定义EJB的Home接口时应继承的接口 **知识点:** EJB (Enterprise JavaBeans) 是 J2EE 架构中的一个重要组成部分,主要用于处理业务逻辑。在定义 EJB 的 Home 接口时,需要继承...
8. **DOM(文档对象模型)**:DOM是W3C标准,提供了一种与语言无关的方式来表示和操作XML文档的结构。 9. **JSON(JavaScript对象表示法)**:JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器...
Java提供了JSON-P、Jackson、Gson等库来处理JSON,而JavaDOM、SAX、StAX等则用于解析XML。 9. **Maven或Gradle**:项目构建工具,管理依赖、构建流程,使得项目结构更加规范,协同开发更高效。 10. **Eclipse或...
- 可以使用DOM、SAX或Pull等解析器解析XML文件。 - **Android通讯录的读写操作** - 通过`ContentResolver`和`ContactsContract`类访问通讯录。 - **Android联网读取文件** - 可以使用`HttpURLConnection`或第三...
18. 在解析XML文档时,"耿祥义"是元素`<author>`的文本内容,因此是文本对象,不是元素对象。 19. JSP表达式`()%>`将Java表达式的结果直接输出到HTML响应中,如果`login.getName()`返回的是用户登录名,那么这句话...
14. DOM(Document Object Model):解析HTML和XML文档的树形结构,用于动态更新网页内容。 15. 运算符优先级:理解不同运算符的执行顺序,对编写正确程序至关重要。 16. 数据库范式:如第一范式(1NF)、第二范式...