档案网站建设与档案信息化,京东商城官网登录,网页制作与设计心得,如何制作公司免费网站我是南城余#xff01;阿里云开发者平台专家博士证书获得者#xff01;
欢迎关注我的博客#xff01;一同成长#xff01;
一名从事运维开发的worker#xff0c;记录分享学习。
专注于AI#xff0c;运维开发#xff0c;windows Linux 系统领域的分享#xff01;
本…我是南城余阿里云开发者平台专家博士证书获得者
欢迎关注我的博客一同成长
一名从事运维开发的worker记录分享学习。
专注于AI运维开发windows Linux 系统领域的分享
本章节对应知识库
南城余的知识库 XML是EXtensible Markup Language的缩写翻译过来就是可扩展标记语言。所以很明显XML和HTML一样都是标记语言也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义格式。但这不代表你可以随便写。 在XML基本语法规范的基础上你使用的那些第三方应用程序、框架会通过XML约束的方式强制规定配置文件中可以写什么和怎么写 XML基本语法这个知识点的定位是我们不需要从零开始从头到尾的一行一行编写XML文档而是在第三方应用程序、框架已提供的配置文件的基础上修改。要改成什么样取决于你的需求而怎么改取决XML基本语法和具体的XML约束。
1.1 常见配置文件类型
properties文件,例如druid连接池就是使用properties文件作为配置文件XML文件,例如Tomcat就是使用XML文件作为配置文件YAML文件,例如SpringBoot就是使用YAML作为配置文件json文件,通常用来做文件传输也可以用来做前端或者移动端的配置文件等等…
1.1.1 properties配置文件 示例 atguigu.jdbc.urljdbc:mysql://localhost:3306/atguigu
atguigu.jdbc.drivercom.mysql.cj.jdbc.Driver
atguigu.jdbc.usernameroot
atguigu.jdbc.passwordroot语法规范 由键值对组成键和值之间的符号是等号每一行都必须顶格写前面不能有空格之类的其他符号
1.1.2 xml配置文件 示例 ?xml version1.0 encodingUTF-8?
studentsstudentname张三/nameage18/age/studentstudentname李四/nameage20/age/student
/studentsXML的基本语法 XML的基本语法和HTML的基本语法简直如出一辙。其实这不是偶然的XML基本语法HTML约束HTML语法。在逻辑上HTML确实是XML的子集。
XML文档声明 这部分基本上就是固定格式要注意的是文档声明一定要从第一行第一列开始写
?xml version1.0 encodingUTF-8?根标签 根标签有且只能有一个。 标签关闭 双标签开始标签和结束标签必须成对出现。单标签单标签在标签内关闭。 标签嵌套 可以嵌套但是不能交叉嵌套。 注释不能嵌套标签名、属性名建议使用小写字母属性 属性必须有值属性值必须加引号单双都行 XML的约束(稍微了解) 将来我们主要就是根据XML约束中的规定来编写XML配置文件而且会在我们编写XML的时候根据约束来提示我们编写, 而XML约束主要包括DTD和Schema两种。
DTDSchema
Schema约束要求我们一个XML文档中所有标签所有属性都必须在约束中有明确的定义。
下面我们以web.xml的约束声明为例来做个说明
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.01.2 DOM4J进行XML解析### 1.2.1 DOM4J的使用步骤
导入jar包 dom4j.jar创建解析器对象(SAXReader)解析xml 获得Document对象获取根节点RootElement获取根节点下的子节点
1.2.2 DOM4J的API介绍
1.创建SAXReader对象
SAXReader saxReader new SAXReader();2. 解析XML获取Document对象: 需要传入要解析的XML文件的字节输入流
Document document reader.read(inputStream);3. 获取文档的根标签
Element rootElement documen.getRootElement()4. 获取标签的子标签
//获取所有子标签
ListElement sonElementList rootElement.elements();
//获取指定标签名的子标签
ListElement sonElementList rootElement.elements(标签名);5. 获取标签体内的文本
String text element.getText();6. 获取标签的某个属性的值
String value element.attributeValue(属性名);