学习笔记——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基 ...
随机推荐
- Hdoj 1213.How Many Tables 题解
Problem Description Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. ...
- open-falcon详解
先扔出一张官方的架构图, agent是用于采集机器的监控指标,然后每60秒就会push给transfer,agent与transfer是建立了长连接的,传输速度会比较快: transfer接受到数据后 ...
- mac上安装ta-lib
Now I am ready to start installing TA-Lib. Generally I followed the steps listed in here. 1. Install ...
- __init__、__new__、__call__ 方法
__init__方法 __init__方法负责对象的初始化,系统执行该方法前,其实该对象已经存在了,要不然初始化什么东西呢?先看例子: # class A(object): python2 必须显示地 ...
- 537. Complex Number Multiplication
题目大意: 给出a, b两个用字符串表示的虚数,求a*b 题目思路: 偷了个懒,Python3的正则表达式匹配了一下,当然acm里肯定是不行的 class Solution: def complexN ...
- A.01.09—模块的输出—PWM低端输出
PWM输出在汽车上的应用也比较多,它有三种不同的实现方式. 第一种由软件实现,即软件设定对一个输出口拉高和拉低的时间,形成时高时低的PWM控制:但这种方式目前用得不多,这是由使用需求和软件本身的特性决 ...
- 牛客练习赛31 D神器大师泰兹瑞与威穆
双链表搞完了 #include<bits/stdc++.h> using namespace std; #define maxn 1000005 int tot,bac[maxn],fa[ ...
- A1147. Heaps
In computer science, a heap is a specialized tree-based data structure that satisfies the heap prope ...
- linux free命令
Linux上的free命令详解 free命令的所有输出值都是从/proc/meminfo中读出的 total used free shared buffers cached Mem: -/+ buff ...
- 【译】3. Java反射——构造函数
原文地址:http://tutorials.jenkov.com/java-reflection/constructors.html ================================= ...