xml文档解析器jsoup和json文档解析器jackson的使用
jsoup的使用
首先我们先建立一个xml的文档如下:
<?xml version="1.0" encoding="utf-8" ?>
<students>
<student number="1">
<name>tom</name>
<age> 18 </age>
<sex> male </sex>
</student>
<student number="2">
<name>jack</name>
<age> 16 </age>>
<sex> female </sex>>
</student>>
</students>
通过获得student.xml文档的路径来获取Document对象,document对象中储存的是整个xml文档的内容以字符串的形式来进行储存
String path = jsouptest.class.getClassLoader().getResource("student.xml").toURI().getPath();
Document document = Jsoup.parse(new File(path), "utf-8");
document对象的一些方法
//根据标签的名字来获取内容,返回值是一个Elements类型的集合根据索引来获取相对应的元素
Elements elements = document.getElementsByTag("name");
//根据标签的id来获取
document.getElementById("1");
//根据属性名字来进行获取(根据一个属性值为number来获取)
document.getElementsByAttribute("number");
//获取一个属性名为number,属性值为1的元素
document.getElementsByAttributeValue("number","1");
其中getElementById()方法的返回值是Element,其他的都是Elements集合
(Elements extends ArrayList)可以通过get(int index)来进行调用,其中他们都包含xml语句,如果想要消除相关的标签,通过text()方法来消除标签的相关内容
jackson的使用
首先我们来创建一个javabean的类
public class Person {
private String name;
private int age;
private String sex;
}
让后通过创建objectMapper对象来进行写出和读取
Person person = new Person("赵四", 18, "女");
ObjectMapper objectMapper = new ObjectMapper();
File file = new File("src/person.json");
objectMapper.writeValue(file,person);
Person person2 = objectMapper.readValue(file, Person.class);
注意:要想通过readvalue方法来直接对json文件进行读取.必须在自己创建的JavaBean类中一定要有空参的构造方法,不能只有有参的构造方法否则会报错