Extensible Markup Language可扩展标记语言(可扩展指XML中的所有标签都是自定义的)
<?xml version="1.0" encoding="utf-8"?>
自定义名称
(注意id属性值唯一)
由于我们保存的文本数据可能包含一些有特殊意义的字符,例如>,<,&等等,一种解决方式是用转义字符替换所有这些特殊文本。但这样使得文本的可读性变差,另一种方式就是使用XML中的CDATA区
规定XML文档的书写规则
一种相对简单的约束技术
将约束规则定义在xml文档中
将约束规则定义在外部的dtd文件中
该示例中跟标签名是students,其内部允许放置student标签,student标签内部又允许放置name,age,sex三个标签,这三个标签内部允许存放字符串。最后一行对number属性进行限定,规定其为ID属性,也就是必须是唯一的值,#REQUIRED表示这个属性必须出现
<!ELEMENT students (student+)>
<!ELEMENT student (name,age,sex)>
<!ELEMENT name ( #PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ATTLIST student number ID #REQUIRED>
<?xml version="1.0"?>
<!DOCTYPE students SYSTEM "student.dtd">
<students>
<student number="id1">
<name>Leslie</name>
<age>20</age>
<sex>male</sex>
</student>
<student number="id2">
<name>Leslie</name>
<age>20</age>
<sex>male</sex>
</student>
</students>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ywrby.cn/xml student.xsd"
xmlns="http://www.ywrby.cn/xml"
操作XML文档,将文档中的数据读取到内存中
/**
* Jsoup快速入门
*/
public class JsoupDemo1 {
public static void main(String[] args) throws IOException {
//获取Document对象
//获取要解析的xml文件路径
String path =JsoupDemo1.class.getClassLoader().getResource("cn/ywrby/xml/stu.xml").getPath();
//解析XML文档,加载文档进内存,获取DOM树-->Document(注意这里的Doccument对象是org.jsoup.nodes.Document,不是其他类)
Document doc=Jsoup.parse(new File(path),"utf-8");
//获取元素对象 -->Element
Elements elements=doc.getElementsByTag("name");
//遍历
for(Element element:elements){
//获取数据
String name=element.text();
System.out.println(name);
}
}
}
使用的方法:Elements select(String cssQuery)
XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。