Java XML文档
概念
XML(EXtensible Markup Language),可扩展标记语言。可扩展就是<>内的东西可以自己定义,可以随便写。标记语言就是加了<>符号的 。HTML是超文本标记语言,不可以拓展,因为你写个<p> 浏览器知道这个是段落,你写个<shuyunquan>浏览器就不认识了,所以不可拓展。
XML书写格式
- 第一行是固定的:<?xml version="1.0" encoding="UTF-8"?>,告诉别人,我是xml文件。
- 只能有一个根元素
- 没了
其他语法和注意点
- <!--这是注释 -->
- <元素名 属性名="属性值">元素内容</元素名>,元素也称标签,XML文件是由一系列标签构成的。属性值不要使用乱七八糟的符号,如>\/<等
- 所有XML元素都必须有结束标签(</……>)
- XML标签对大小写敏感
- XML必须正确的嵌套
- 同级标签以缩进对齐
- 元素名称可以包含字母、数字或其他的字符
- 元素名称不能以数字或者标点符号开始(<5name>是错误的;<name5>是正确的)
- 元素名称中不能含空格(<student name>是错误的;<studentname>是正确的的)
DOM解析XML
- 文档对象模型(Document Object Model)
- DOM把XML文档映射成一个倒挂的树
<book id=”1234”>
<title>三国演义</title>
<author>罗贯中</author>
<price>30元</price>
</book>
所有带尖括号的叫元素节点,只有文本文字的叫属性节点,id=”1234”叫做属性节点
树形结构:易于增删改查


DOM解析XML文件步骤:
- 创建解析器工厂对象
- 解析器工厂对象创建解析器对象
- 解析器对象指定XML文件创建Document对象
- 以Document对象为起点操作DOM树
类似这种套路:
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
import java.net.URL; public class XMLUtil { public static Object getBean() {
try {
//创建DOM文档对象
DocumentBuilderFactory dFactory=DocumentBuilderFactory.newInstance();//文档制造者工厂创建了一个 文档制造者工厂对象
DocumentBuilder builder=dFactory.newDocumentBuilder();//文档制造者类 通过 文档制造者工厂 创造一个 文档制造者对象
Document doc;//文档制造者 创建 文档
doc=builder.parse(new File("src/homework/config.xml"));//解析xml文件 //获取包含类名的文本节点
NodeList nl=doc.getElementsByTagName("className");//文本节点列表里有很多被className标签夹着的内容
Node classNode=nl.item(0).getFirstChild();
//item(0)表示引用列表里第一个节点,这里只有一个。getFirstChild表示获取该节点的第一个孩子。
String cName=classNode.getNodeValue(); //通过类名生成实例对象并返回
Class c=Class.forName(cName);
Object obj=c.newInstance();
return obj;
}catch(Exception e) {
e.printStackTrace();
return null;
}
}
}
套路
参考:https://blog.csdn.net/baidu_29343517/article/details/81609732
Java XML文档的更多相关文章
- Java获取XML节点总结之读取XML文档节点
dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www. ...
- JAVA对象和XML文档、原来他们之间还有这一出
最近项目开发中遇到一个问题,访问接口不再通过url地址请求的方式,而是 通过socket发送xml格式的报文到指定服务器来进行信息的统一认证.. 因此组装xml格式的报文字符串以及解析服务器返回的xm ...
- 【JAVA与DOM4J实现对XML文档的CRUD操作】
一.简介 1.网上下载DOM4J 1.6.1压缩包,解压开之后,发现几个目录和一个jar文件,jar文件是必须的文件其它目录: docs目录:帮助文档的目录,单击index.html: Quick s ...
- java 解析XML文档
Java 解析XML文档 一.解析XML文档方式: 1.DOM方式:将整个XML文档读取到内存中,按照XML文件的树状结构图进行解析. 2.SAX方式:基于事件的解析,只需要加载XML中的部分数据,优 ...
- 浅谈用java解析xml文档(四)
继续接上一文,这一阵子因为公司项目加紧,导致最后一个解析xml文档的方式,还没有总结,下面总结使用dom4J解析xml. DOM4J(Document Object Model for Java) 使 ...
- 浅谈用java解析xml文档(三)
接上一篇,本文介绍使用JDOM解析xml文档, 首先我们还是应该知道JDOM从何而来,是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初, JDOM作 ...
- 浅谈用java解析xml文档(一)
关于xml本身的语法及使用的环境不多说了,网上有很多规则, 然对xml文档进行解析,一般分为四种解析方式,基于java官方文档的Dom 和Sax解析,还有就是基于 第三方jar包的 Jdom 和 Do ...
- 用Java对xml文档进行遍历,更新,创建,删除
import java.io.File;import java.io.FileInputStream; import javax.imageio.stream.FileImageInputStream ...
- Java解析XML文档(简单实例)——dom解析xml
一.前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object ...
随机推荐
- 【操作系统之十五】iptables黑白名单、自定义链、网络防火墙、常用动作
1.黑白名单当链的默认策略为ACCEPT时,链中的规则对应的动作应该为DROP或者REJECT,表示只有匹配到规则的报文才会被拒绝,没有被规则匹配到的报文都会被默认接受,这就是"黑名单&qu ...
- Axure入门
一.Axure介绍 1.1 原型和Axure是什么? 原型是什么? 简单的说就是产品设计成形之前的一个简单框架,对网站来讲,就是将页面模块.元素进行粗放式的排版和布局,深入一些,还会加入一些交互性的元 ...
- Python连载29-log的使用需求实现举例
一.Format类 1.直接实例化 2.可以继承Format添加特殊字符 3.三个参数 (1)fmt:指定消息格式化字符串,如果不指定该参数则默认使用message的原始值 (2)datemt:指定日 ...
- 《Interest Rate Risk Modeling》阅读笔记——第二章:债券价格、久期与凸性
目录 第二章:债券价格.久期与凸性 思维导图 瞬时回报率-收益率的例子 第二章:债券价格.久期与凸性 思维导图 瞬时回报率-收益率的例子
- 洛谷疯狂coding~
1.关于数学建模思想在coding之中的应用. 将马路作为一条数轴,每棵树的位置作为数轴上的坐标点,再将坐标点与数组的下标联系到一起,完成建模. 2.本题坑点在于对“其中有多少个数,恰好等于集合中另外 ...
- SQL ----------- 借助视图写多表查询
在多表查询中可能遇到两表.三表乃致四表查询,自己进行直接用sql 语句进行书写的话可能比较难,但是可以借助视图进行分析,书写 1.右击视图点击新建 选择需要的表点击添加,注意两个表之间要有相同的字段 ...
- Spring Security简介与入门Demo
1:Spring Security简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配 ...
- 部门工资前三高的所有员工 - LeetCode
Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId . +----+-------+--------+---- ...
- FormData使用详解
- StackExchange.Redis 封装
博主最近开始玩Redis啊~~ 看了很多Redis的文章,感觉有点云里雾里的,之前看到是ServiceStack.Redis,看了一些大佬封装的Helper类,还是懵懵的QAQ 没办法啊只能硬着**上 ...