学习笔记——xml的入门及解析
需求:根据配置文件创建类,并调用方法
分析:1.XML 2.解析XML 3. 根据全限定名创建对象,调用方法
XML: 可扩展的标签语言
作用:存储数据。(主要用于配置文件)
后缀名.xml
书写规范 1. 区分大小写
2. 应该有一个根标签
3. 标签必须关闭
4.属性以引号引起来 <xx att = "value">
5.标签体中的空格或者换行或者制表符等内容都是作为数据内容存在
6.转义字符需要转义
xml的组成部分:
声明(必须顶格放在第一行 ):
<?xml version="1.0" encoding="UTF-8">
元素(标签): <xx><xx/>
属性: <xx 属性名="属性值"/>
注释:<!-- -->
CDATA: 保证数据原样输出
格式:<![CDATA[原样输出内容]]>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5">
<servlet>
<servlet-name>HelloMyServlet</servlet-name>
<servlet-class>com.itheima.HelloMyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloMyServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
////////////////////////////////////////////////////////////////////
xml的解析:
解析方式: 1.sax 特点:逐行解析,只能查询 2.dom:特点:一次性将文档加载到内容中,形成一个dom树进行curd操作
解析技术 dom4j 常用的解析开发包
import java.util.List; import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; public class Dom4jDemo {
public static void main(String[] args) throws DocumentException{
//创建核心对象
SAXReader reader = new SAXReader();
Document doc = reader.read("C:\\Users\\zhoudongqi\\workspace\\day08\\xml\\web.xml");
Element root = doc.getRootElement();
List<Element> list = root.elements();
for(Element ele : list){
String text = ele.elementText("servlet-name");
System.out.println(text);
}
}
}
Xpath: 1. 导包 2. api selectNote("表达式") ; selectSingleNote("表达式");
//////////////////////////////////////////
反射:
1. 获取对应的Class对象
Class c = Class.forName("全限定名");
Class c = 类名.class
Class c == 对象.getClass();
2. 通过Class对象创建实例
Object c.newInstance();
3.通过Class 对象获取方法
Method m = c.getMethod();
4.让方法执行
m.invoke(实例对象, 参数);
package demo1; public class HelloMyServlet {
public double f(double a, double b){
System.out.println(a+b);
return a+b;
}
}
package demo1; import java.lang.reflect.Method; public class Test1 { public static void main(String[] args) throws Exception {
Class c = Class.forName("demo1.HelloMyServlet");
HelloMyServlet a = (HelloMyServlet) c.newInstance();
Method method = c.getMethod("f", double.class, double.class );
method.invoke(a, 3, 3);
} }
学习笔记——xml的入门及解析的更多相关文章
- Hadoop学习笔记(1) ——菜鸟入门
Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...
- iOS学习笔记-地图MapKit入门
代码地址如下:http://www.demodashi.com/demo/11682.html 这篇文章还是翻译自raywenderlich,用Objective-C改写了代码.没有逐字翻译,如有错漏 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录
Sharepoint学习笔记—习题系列--70-576习题解析 为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是: 1. ...
- Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录
Sharepoint学习笔记—习题系列--70-573习题解析 为便于查阅,这里整理并列出了我前面播客中的关于70-573习题解析系列的所有问题,有些内容可能会在以后更新, ...
- Laravel学习笔记之Session源码解析(上)
说明:本文主要通过学习Laravel的session源码学习Laravel是如何设计session的,将自己的学习心得分享出来,希望对别人有所帮助.Laravel在web middleware中定义了 ...
- html学习笔记-XML
html学习笔记-XML Table of Contents 1. XML简介 2. XML用途 3. XML树结构 4. XML语法 5. XML元素 6. XML属性 7. XML验证 8. XM ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- Java学习笔记--xml构造与解析之Sax的使用
汇总:xml的构造与解析 http://www.cnblogs.com/gnivor/p/4624058.html 参考资料:http://www.iteye.com/topic/763895 利用S ...
- .net学习笔记---xml基础知识
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
随机推荐
- CISCO运维记录之3650堆叠设备升级IOS(Version 16.3.6版本存在bug)
CISCO运维记录之3650堆叠设备升级IOS(Version 16.3.6版本存在bug) 思科3000系列交换机使用cat3k_caa-universalk9.16.3.6版本存在bug,设备运行 ...
- Nginx+Tomcat-cluster构建
-----------ReProxy-------------------------Client-----------192.168.56.202 nginx 192.168.56.200 Tomc ...
- tyvj/joyoi 2018 小猫爬山
2018,这个题号吼哇! 搜索第一题,巨水. WA了一次,因为忘了还原... #include <cstdio> ; int n, W, ans, weigh[N], cost[N]; i ...
- Linux基本命令总结(三)
接上篇: 11,more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示 ...
- Python_反射
利用字符串的形式去对象中寻找成员 导入单个模块: commons为公共模块,inp为输入 func=getattr(commons,inp) 利用反射最大的好处是不用单个单个导入,而通过getattr ...
- 表格模型的监听 TableModelListener
当表格内容发生改变,监听做了哪些操作,需要表格模型的监听 TableModelListener来实现. 以上一个随笔内容<高级组件——表格模型TableModel>为例,增加监听事件内容. ...
- (线性dp 最大子段和 最大子矩阵和)POJ1050 To the Max
To the Max Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 54338 Accepted: 28752 Desc ...
- Vue(基础三)_监听器与计算属性
一.前言 本文主要涉及: 1.watch()监听单个属性 2.computed可以监听多个属性 3.点击li标签切换音乐案例 二.主要内容 1.watch()监听器(监听单一数据) (1)监听 ...
- vmstat命令详解
一:简介 vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个 ...
- linux下创建用户组与用户 只能访问指定目录的方法 以及FTP用户配置详解
VSFTPD 安装: -- 查看是否已经安装 VSftpd: rpm -qa | grep vsftp yum install -y vsftpd groupadd ftpuser #创建ftpuse ...