一:为什么使用Xml?

1.目前有很多的写代码语言,java,scala,sql,py等等语言。也有很多的系统,例如苹果系统,安卓系统等。但是实际生产中,我们代码和数据,在各个平台和语言之间进行流动。如果我们想在流动的中间做一些操作,我们需要有一种共性的东西,在各个语言中都适用,在各个平台之间都能跑通。

二:什么是Xml?

  1. 是一种语言。
  2. xml与操作系统、编程语言的开发平台都无关。
  3. 实现不同系统之间的数据交互。

三:怎么使用Xml?

  1. 最基本的信息。
      (1)必须有XML声明语句 (第一行)。
      (2)必须有且仅有一个根元素。
      (3)标签成对。
      (4)元素正确嵌套 。
  2. 标签、元素、属性
      标签,在xml中使用<>,引起来的内容称作为标签。标签有开头有结尾,结尾多一个/。
      属性,属性为标签增添了一些信息,形式为 属性名=“属性值”。
      元素,标签开始和结尾为一个整体,统一称为元素。
  3. 注意点
      (1)特殊字符。

      (2)CDATA
       PCDATA 是被解析的字符,CDATA是没有被解析的字符。CDATA具体使用如下:
<test>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</test>
  1. 约束。
    虽然xml非常灵活,但是我们在开发过程中,可以设定一些约束,来方便整个团队的开发。常见的约束有以下俩种。
      (1)DTD约束
        我们一般约束以下几点
         元素的定义规则
         元素之间的关系规则
         属性的定义规则
<!DOCTYPE 根元素 [元素声明]>
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE poem [<!ELEMENT poem (author,title,content)><!ELEMENT author (#PCDATA)><!ELEMENT title (#PCDATA)><!ELEMENT content (#PCDATA)>
]>
<poem><author>王维</author><title>鹿柴</title><content>空山不见人,但闻人语声。返景入深林,复照青苔上。</content>
</poem>

  (2)Schema约束
   如果DTD约束写的信息比较繁琐,那么我们使用Scahme进行约束。

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.myschema.com.cn"
xmlns="http://www.myschema.com.cn"
elementFormDefault="qualified"><xs:element name="person"><xs:complexType><xs:sequence><xs:element name="id" type="xs:integer"/><xs:element name="name" type="xs:string"/><xs:element name="sex"  type="xs:string"/><xs:element name="address" type="xs:string"/></xs:sequence></xs:complexType></xs:element>
</xs:schema>
  1. 解析。
    DOM4J
    添加jar包
 <?xml version="1.0" encoding="utf-8" ?><students><Student><Name>张三</Name><Num>2018001</Num><Classes>0113</Classes><Address>上海外国语</Address><Tel>123456</Tel></Student><Student><Name>王五</Name><Num>2018002</Num><Classes>0114</Classes><Address>上海外国语</Address><Tel>657432</Tel></Student></students>
public static void main(String[] args) throws Exception{SAXReader reader=new SAXReader();Document document=reader.read(newFile("src\\source.xml"));ElementrootElm=document.getRootElement();//获得根节点ElementmemberElm=rootElm.element("Student"); //获得子节点ElementageElm=memberElm.addElement("age");//添加子节点ageElm.setText("29");//设置节点文本
// 创建格式化类OutputFormat format =OutputFormat.createPrettyPrint();
// 设置编码格式,默认UTF-8format.setEncoding("UTF-8");
// 创建输出流,此处要使用Writer,需要指定输入编码格式,使用OutputStream则不用FileOutputStream fos = new FileOutputStream("src\\source.xml");
// 创建xml输出流XMLWriter writer = new XMLWriter(fos,format);writer.write(document);writer.close();
}

Java-基础-6.Xml相关推荐

  1. java基础之XML

    目录 java基础之XML 1. XML解析概述 2. DOM4J介绍 2.1 常用包 2.2 内置元素 2.2 Element类 2.3 Attribute类 2.4 常用操作 3. 代码演示 3. ...

  2. 小汤学编程之JAVA基础day14——xml和反射

    一.xml 1.简介     2.特点     3.使用步骤 二.Reflect反射 1.概念     2.理解Class类     3.反射的功能     4.两个案例 一.xml 1.简介 xml ...

  3. Java基础加强重温_13:XML(可拓展标记语言)、XML语法、XML约束、XML解析(Dom4j,JAXP)、Dom4j基本使用、Xpath表达式(XML路径语言)、XML解析综合案例

    摘要 Java基础加强重温_13: XML(可拓展标记语言.作用:小型数据库.框架配置文件.不同平台数据交换). XML语法(文档.标签/元素.属性.注释.转义字符.CDTA区) XML约束(DTD约 ...

  4. 我的面试标准:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架!...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:hsm_computer www.cnblogs.com/J ...

  5. [Spring 深度解析]第1章 Java基础

    第1章 ◄Java基础► 在学习Spring之前我们需要对Java基础语法有一定的了解,Java中最重要的两个知识点是注解和反射.注解和反射在Spring框架中应用的最广泛.掌握注解和反射,有助于后面 ...

  6. 给Java新手的一些建议——Java知识点归纳(Java基础部分)

    写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...

  7. Java基础、多线程、JVM、集合八股文自述(持续更新)

    Java基础.多线程.JVM.集合八股文自述 一.Java基础 1.1 object类有哪些方法? getClass().hashCode().equals().clone().toString(). ...

  8. Java基础-Eclipse第三方安装包管理工具之Maven

    Java基础-Eclipse第三方安装包管理工具之Maven 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩过Linux的小伙伴应该都知道yum吧,我们只要把搭建好的yum仓库配 ...

  9. Java 中的 XML:Java 文档模型的用法

    Java 中的 XML:Java 文档模型的用法 英文原文 内容: 代码对比 DOM JDOM dom4j Electric XML XPP 结束语 下一次... 参考资料 关于作者 对本文的评价 相 ...

  10. java基础知识大全,java 基础知识点汇总

    java 基础知识点汇总 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个Strin ...

最新文章

  1. testng xml 示例
  2. sdut 1488 连通分量的个数(并查集)
  3. 从并发视角来看智能合约(上)【渡鸦论文系列】
  4. CreateProcess
  5. Eclips将lib打入war中
  6. LwIP应用开发笔记之二:LwIP无操作系统UDP服务器
  7. OpenTURNS 不确定性、风险和统计数据开源组件
  8. centeros 卸载mysql_完全卸载MySql
  9. LORD MicroStrain 惯性传感系统
  10. 2015中国国内元器件分销商10亿俱乐部20强榜单
  11. Spring Tools Suite(STS)的下载与安装
  12. 梦想家-致停不下来的我们
  13. 八、vue_options之computed、watch属性选项
  14. AWS云、阿里云、腾讯云、华为云--云服务器全球区域对比图
  15. Z变换 拉氏变换S z,r,w,s,Ts,jΩ关系
  16. VS Code中常用插件
  17. 使用sws_scale转换视频、使用swr_convert转换音频
  18. 互联网财富管理平台应该怎么做?(上篇)
  19. mysql中my.cnf不生效解决
  20. Android端外推送到底有多烦?(转载自一个1000万用户App的CTO的对推送的看法)

热门文章

  1. C语言 Openssl的md5使用方式
  2. 在鼠标悬停才会出现的页面中定位元素
  3. python 批量读取csv 文件到dataframe_python 批量读取csv_Python Pandas批量读取csv文件到dataframe的方法...
  4. Linux之字符设备驱动框架
  5. 美术专业如何利用计算机思维,电脑美术教学的初探
  6. 插入排序——直接插入排序
  7. IntelliJ IDEA 常见图标
  8. PostgreSql安装过程
  9. 程序员吐槽女朋友狮子大开口
  10. float的范围和有效位