概念

XML(EXtensible Markup Language),可扩展标记语言。可扩展就是<>内的东西可以自己定义,可以随便写。标记语言就是加了<>符号的 。HTML是超文本标记语言,不可以拓展,因为你写个<p> 浏览器知道这个是段落,你写个<shuyunquan>浏览器就不认识了,所以不可拓展。


XML书写格式

  1. 第一行是固定的:<?xml version="1.0" encoding="UTF-8"?>,告诉别人,我是xml文件。
  2. 只能有一个根元素
  3. 没了

其他语法和注意点

  1. <!--这是注释 -->
  2. <元素名 属性名="属性值">元素内容</元素名>,元素也称标签,XML文件是由一系列标签构成的。属性值不要使用乱七八糟的符号,如>\/<等
  3. 所有XML元素都必须有结束标签(</……>)
  4. XML标签对大小写敏感
  5. XML必须正确的嵌套
  6. 同级标签以缩进对齐
  7. 元素名称可以包含字母、数字或其他的字符
  8. 元素名称不能以数字或者标点符号开始(<5name>是错误的;<name5>是正确的)
  9. 元素名称中不能含空格(<student name>是错误的;<studentname>是正确的的)

DOM解析XML

  1. 文档对象模型(Document Object Model)
  2. DOM把XML文档映射成一个倒挂的树
<book id=”1234”>
<title>三国演义</title>
<author>罗贯中</author>
<price>30元</price>
</book>

所有带尖括号的叫元素节点,只有文本文字的叫属性节点,id=”1234”叫做属性节点

树形结构:易于增删改查

DOM解析XML文件步骤:

  1. 创建解析器工厂对象
  2. 解析器工厂对象创建解析器对象
  3. 解析器对象指定XML文件创建Document对象
  4. 以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文档的更多相关文章

  1. Java获取XML节点总结之读取XML文档节点

    dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www. ...

  2. JAVA对象和XML文档、原来他们之间还有这一出

    最近项目开发中遇到一个问题,访问接口不再通过url地址请求的方式,而是 通过socket发送xml格式的报文到指定服务器来进行信息的统一认证.. 因此组装xml格式的报文字符串以及解析服务器返回的xm ...

  3. 【JAVA与DOM4J实现对XML文档的CRUD操作】

    一.简介 1.网上下载DOM4J 1.6.1压缩包,解压开之后,发现几个目录和一个jar文件,jar文件是必须的文件其它目录: docs目录:帮助文档的目录,单击index.html: Quick s ...

  4. java 解析XML文档

    Java 解析XML文档 一.解析XML文档方式: 1.DOM方式:将整个XML文档读取到内存中,按照XML文件的树状结构图进行解析. 2.SAX方式:基于事件的解析,只需要加载XML中的部分数据,优 ...

  5. 浅谈用java解析xml文档(四)

    继续接上一文,这一阵子因为公司项目加紧,导致最后一个解析xml文档的方式,还没有总结,下面总结使用dom4J解析xml. DOM4J(Document Object Model for Java) 使 ...

  6. 浅谈用java解析xml文档(三)

    接上一篇,本文介绍使用JDOM解析xml文档, 首先我们还是应该知道JDOM从何而来,是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初, JDOM作 ...

  7. 浅谈用java解析xml文档(一)

    关于xml本身的语法及使用的环境不多说了,网上有很多规则, 然对xml文档进行解析,一般分为四种解析方式,基于java官方文档的Dom 和Sax解析,还有就是基于 第三方jar包的 Jdom 和 Do ...

  8. 用Java对xml文档进行遍历,更新,创建,删除

    import java.io.File;import java.io.FileInputStream; import javax.imageio.stream.FileImageInputStream ...

  9. Java解析XML文档(简单实例)——dom解析xml

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

随机推荐

  1. css 在一定区域内滚动显示,不修改父级样式

    做项目时,会遇到一些零碎的技术点.记录下来以防忘记 需求:图中圈中的部门是滚动的.不修改父级样式 代码: <div class="right-text-bottom"> ...

  2. Visual Studio 2019 for Mac 离线更新方法

    当你打开Visual Studio 2019 for Mac检查更新时,如果下载更新包很慢,可以尝试如下操作: 打开Finder(访达),找到~/Library/Caches/VisualStudio ...

  3. git add命令行添加文件、文件夹以及撤销文件add的方法

       1.添加某个文件类型到暂存区,比如所有的 .html 文件. git add *.html    2.添加某个文件或者某个文件夹中的某个文件到暂存区 ,比如 index 下的 index.htm ...

  4. HTML+css基础 p段落标签 a 超链接标签 Src和href有什么区别和关联? target属性 Meta标签

    p段落标签: <p></p> 1.他是唯一一个可以不写结束标签的双标签. a 超链接标签: 从一个页面链接到另一个页面.靠的是href属性.  Src和href有什么区别和关联 ...

  5. 【转帖】分布式事务之解决方案(XA和2PC)

    分布式事务之解决方案(XA和2PC) https://zhuanlan.zhihu.com/p/93459200 ​ 博彦信息技术有限公司 java工程师 3. 分布式事务解决方案之2PC(两阶段提交 ...

  6. sentry之一:sentry安装

    Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题.它主要专注于持续集成.提高效率并且提升用户体验.Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在 ...

  7. 【题解】L 国的战斗续之多路出击 [P2129]

    [题解]L 国的战斗续之多路出击 [P2129] 传送门: \(L\) 国的战斗续之多路出击 \([P2129]\) [题目描述] 给出 \(n\) 个坐标,\(m\) 个指令,指令处理顺序应是从后往 ...

  8. Mysql系列(五)—— 分页查询及问题优化

    一.用法 在Mysql中分页查询使用关键字limit.limit的语法如下: SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15 limit关键字带有 ...

  9. 通过SharpZipLib实现文件夹压缩以及解压

    代码说明 基于SharpZipLib实现Zip压缩解压,扩展实现文件夹级别压缩解压: 项目源码:MasterChief.DotNet.Infrastructure.Zip Install-Packag ...

  10. HTML5新标签和CSS伪类

    HTML5提供了很多新的标签,由于HTML5的兼容性比较差,HTML5的标签常用于手机端 <nav> <footer> <section> <header&g ...