您的位置:首页 > 其它

XML的介绍

2020-02-02 15:14 288 查看
什么是XML
  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签。
xml 的功能:
1、作为框架的配置文件
2、方便在网络中传输数据

xml 和 html的区别:
1、xml的标签都是自定义的,html的标签是预定义
2、xml的语法比html严谨
3、xml是用于存储数据的,html是展示数据的

基本语法:
1、文件以.xml结尾
2、xml的文件第一行,必须是文档声明(固定的)
3、xml中只能有一个根标签
4、属性的值需要用引号引起来
5、所有的标签必须正常关闭
6、xml区分大小写

例如:描述一个人
<person id="1">
<name>coco</name>
<age>12</age>
</person>

xml的解析:
解析方式:
sax:一行一行解析
dom:一次性将文档的内容加载到内存中,形成dom树
解析技术
JAXP,JDom,jSoup(html),dom4j
例如:
dom4j:
xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<person id="p">
<name>coco</name>
<age>12</age>
</person>
解析:
@Test
public void test1() throws DocumentException {
// 1、创建解析对象
SAXReader reader = new SAXReader();
// 2、创建文件
File file = new File("person");
// 3、将文件读取到内存中形成 dom 树
Document document = reader.read(file);
// 4、获取根节点
Element rootElement = document.getRootElement();
// 获取名字
System.out.println(rootElement.getName());
// 获取内容
System.out.println(rootElement.getText());

// 获取所有的子节点
List<Element> list = rootElement.elements();
for (Element e:list) {
System.out.println(e.getName()+"-------"+e.getText());
}

// 根据名字获取子节点
Element name = rootElement.element("name");
System.out.println(name.getText());
// 根据属性名,获取属性对象
Attribute id = rootElement.attribute("id");
System.out.println(id.getName());
System.out.println(id.getText());
}

jSoup(html)
解析:
@Test
public void test2() throws IOException {
// 1、创建解析对象
// 2、创建文件
// 3、将文件读取到内存中形成 dom 树
// 将前面 三步 合成一个方法
Document document = Jsoup.parse(new File("person"), "utf-8");
Element element = document.getElementById("p");
// 获取带格式的文本
System.out.println(element.html());
// 获取纯文本
System.out.println(element.text());
}

转载于:https://www.cnblogs.com/wzhsc/p/10311282.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
ahao4311 发布了0 篇原创文章 · 获赞 0 · 访问量 154 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: