Java   XML简介

XML(EXtensible Markup Language)  可扩展标记语言

可以说是一个文本文件

作用数交互  配置应用程序

Xml解析技术

三种方式

Dom 文档数据结构   多次访问  占用资源多 一次性将所有的节点

一次性都都去到内存中

Sax

事件的解析  占用资源少

Dom4j

非常优秀的   功能 强大 开源的

第一种解析方式  下面代码呢是Dom 的集中增删改的 样本

Dom解析xml  导报org.w3c.dom

写写代码吧!!!

第一步:

DocumentBuilderFactory     factory    =      DocumentBuilderFactory.newInstance(); //建立一个工厂  因为他是一个抽象的类 所有呢他不能new自己所以呢 只能点到自己的静态方法

第二步:

DocumentBuilder buile = factory = factory.newDocumentBuilder();

第三步:

Document docuent =buile.parse(“”);//填写的呢是解析xml的具体地址

第四步:

//根据节点  进行数据解析

NodeListt list = document.getElementsByTayName(“book”);  //获取节点

//NodeList  是一个集合 所以呢他又他的长度  list.getLength();

那么我们呢就遍历他的的节点并打印出出来

第四步:

For(int i = o ;i<list.getLength();i++){

Element book = (Element)List.item(i);

String attribut = book.getAttribute(“typeId”);   //寻找节点的参数吧  不知道怎么说

String bookId = book.getElenmentsByTagName().item(0).getTextcintent();

//然后呢用system打印出来 这样呢xml就写出来了

System.out.println(attribut );

}

package ioDomeTwo;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
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.NodeList; public class MyMain {
public static void main(String[] args) throws Exception { } public static void sadf() throws Exception{ DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance();//创建一个工厂
DocumentBuilder builde = factory.newDocumentBuilder();
Document document = builde.parse("E:/eclipseSpace/javaDome/src/ioDomeTwo/DomeOne.xml");
//System.out.println(document);//打印内存地址
//根据xml节点 数据解析
NodeList list = document.getElementsByTagName("book");//获取节点
for (int i = 0; i < list.getLength(); i++) {
Element book = (Element)list.item(i);
String attribut = book.getAttribute("typeId");
String bookId = book.getElementsByTagName("bookId").item(0).getTextContent();
String bookName = book.getElementsByTagName("bookName").item(0).getTextContent();
String bookPrice = book.getElementsByTagName("bookPrice").item(0).getTextContent();
String bookAuthor = book.getElementsByTagName("bookAuthor").item(0).getTextContent();
System.out.println(attribut);
System.out.println(bookId);
System.out.println(bookName);
System.out.println(bookPrice);
System.out.println(bookAuthor);
System.out.println("--------------");
}
}
//增加
public static void asf() throws Exception{
DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance();//创建一个工厂
DocumentBuilder builde = factory.newDocumentBuilder();
Document document = builde.parse("E:/eclipseSpace/javaDome/src/ioDomeTwo/DomeOne.xml");
//构造个节点
Element book = document.createElement("book");
book.setAttribute("typeid", "3");
Element bookId = document.createElement("bookId");
book.setTextContent("003");
Element bookName = document.createElement("bookName");
book.setTextContent("西游记");
Element bookPrice = document.createElement("bookPrice");
book.setTextContent("15.8");
Element bookAuthor = document.createElement("bookAuthor");
book.setTextContent("吴承恩");
book.appendChild(bookId);
book.appendChild(bookName);
book.appendChild(bookPrice);
book.appendChild(bookAuthor);
//将book节点和整篇文档建立关联
document.getElementsByTagName("books").item(0).appendChild(book);
//传输工程
TransformerFactory transformFactory = TransformerFactory.newInstance();
//传输器
Transformer transformer = transformFactory.newTransformer();
Source source = new DOMSource(document);
Result resule= new StreamResult("E:/eclipseSpace/javaDome/src/ioDomeTwo/DomeOne.xml");
transformer.transform(source, resule);
System.out.println("ok");
} //修改
public static void upder() throws Exception{
DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance();//创建一个工厂
DocumentBuilder builde = factory.newDocumentBuilder();
Document document = builde.parse("E:/eclipseSpace/javaDome/src/ioDomeTwo/DomeOne.xml"); Element book = (Element)document.getElementsByTagName("books").item(2);
book.getElementsByTagName("bookPrice").item(0).setTextContent("99");
//传输工程
TransformerFactory transformFactory = TransformerFactory.newInstance();
//传输器
Transformer transformer = transformFactory.newTransformer();
Source source = new DOMSource(document);
Result resule= new StreamResult("E:/eclipseSpace/javaDome/src/ioDomeTwo/DomeOne.xml");
transformer.transform(source, resule);
System.out.println("ok");
}
//删除
public static void remve() throws Exception{
DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance();//创建一个工厂
DocumentBuilder builde = factory.newDocumentBuilder();
Document document = builde.parse("E:/eclipseSpace/javaDome/src/ioDomeTwo/DomeOne.xml"); Element book = (Element)document.getElementsByTagName("books").item(2);
document.getElementsByTagName("books").item(0).removeChild(book);
//传输工程
TransformerFactory transformFactory = TransformerFactory.newInstance();
//传输器
Transformer transformer = transformFactory.newTransformer();
Source source = new DOMSource(document);
Result resule= new StreamResult("E:/eclipseSpace/javaDome/src/ioDomeTwo/DomeOne.xml");
transformer.transform(source, resule);
System.out.println("ok");
}
}

请用java解析下xml的更多相关文章

  1. Java解析Soap XML

    package com.jstrd.tipstock.webservice.jt.base; import java.io.ByteArrayInputStream; import java.util ...

  2. Java 解析自定义XML文件

    这里我用 maven项目 作为 演示 配置pom.xml文件 完整的pom.xml文件信息 <?xml version="1.0" encoding="UTF-8& ...

  3. Java解析XML文档——dom解析xml

    一.前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object M ...

  4. XML基础+Java解析XML +几种解析方式的性能比较

    XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...

  5. java解析XML(转载)

    使用Dom4j解析XML dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的 ...

  6. java解析XML文件

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源 ...

  7. Java眼中的XML--文件读取--2 应用SAX方式解析XML

    1.获取一个SAXParserFactory的实例.2.通过factory获取SAXParser实例.  3.新建一个包和继承自DefaultHandler的类.  因为SAX遍历方式,比如便利一个节 ...

  8. java解析XML几种方式

    第一种:DOM. DOM的全称是Document Object Model,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序 ...

  9. Java 解析 XML

    Java 解析 XML 标签: Java基础 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点 ...

随机推荐

  1. Linux 设备驱动之字符设备

    参考转载博客:http://blog.chinaunix.net/uid-26833883-id-4369060.html https://www.cnblogs.com/xiaojiang1025/ ...

  2. hbase 概念

    在hbase里面有几个通俗的名称会经常出现 1)Hregion = region 2)Hregionserver = regionserver 3)Hmaster = master 4)Hmamsto ...

  3. login.html

    <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1 ...

  4. 怎样将virtualbox中的虚拟系统安装到c盘以外的盘

    首先在安装的时候是可以选择虚拟机文件的位置的,如果当时没注意,只能现在移动一下了,很简单 首先将 C:/Users目录下的.VirtualBox和VirtualBox VMs两个文件拷贝到你愿意放的位 ...

  5. win10安装java

    java安装还比较顺利,贴两篇亲测可行的教程 1.开发环境安装:https://www.cnblogs.com/shirley-0021/p/8510051.html 2.开发工具安装(Eclipse ...

  6. ubuntu16.04运行ros的时候编译工作空间catkin_make出现的一个问题Could not find a package configuration file provided by

    最近在进行ros里面的gazebo仿真之前需要对自己创建的工作空间进行编译,但是进行编译的时候输入catkin_make出现如下错误提示 查阅ROS问答社区之后发现两个比较有用的链接,如下 https ...

  7. VBA在WORD应用中如何将格式应用于选定内容

    下列示例使用 Selection 属性将字符和段落格式应用于选定文本.使用 Font 属性获得字体格式的属性和方法,使用 ParagraphFormat 属性获得段落格式的属性和方法. Sub For ...

  8. SQA计划与系统测试

    (一)目的 本计划的目的是定义我们该小组所做的“爱上长大”项目的SQA任务和职责,在项目过程中应遵循的流程.规范和约定等,以确保软件质量得到维持. (二)范围 本计划应用于“爱上长大”项目开发的整个生 ...

  9. 2019-04-22-day037-数据库的安装

    内容回顾 进程 线程 协程之间的相同点和不同点 进程 : 内存隔离 操作系统级别 开销大 可以利用多核 计算机中资源分配的最小单位 线程 : 内存共享 操作系统级别 开销中 Cpython解释器下不能 ...

  10. mysql5.5.28在Linux下的安装

    1.       下载mysql 在http://dev.mysql.com/downloads/mysql/ 官网上下载mysql-5.5.28-linux2.6-i686.tar.gz. 2.   ...