1.xml
<?xml version='1.0' encoding='UTF-8'?>
<students>
<student>
<name nid="1">江</name>
<age>18</age>
<gender>男</gender>
</student>
<student>
<name nid="2">军</name>
<age>18</age>
<gender>男</gender>
</student>
</students>
2.解析代码
package com.jiang.xml;
import cn.wanghaomiao.xpath.exception.XpathSyntaxErrorException;
import cn.wanghaomiao.xpath.model.JXDocument;
import cn.wanghaomiao.xpath.model.JXNode;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class xml_test {
public static void main(String[] args) {
//先找路径
String path = xml_test.class.getClassLoader().getResource("student.xml").getPath();
try {
//获取JDocument对象
Document parse = Jsoup.parse(new File(path), "utf-8");
//获取JXDocument对象
JXDocument jxDocument = new JXDocument(parse);
//开始展示常用方法
/* List<JXNode> jxNodes = jxDocument.selN("//students");*/
List<JXNode> jxNodes = jxDocument.selN("//students/student/name[@nid='2']");
for (JXNode a:jxNodes){
Element element = a.getElement();
System.out.println("标签名为 "+element.tagName());
System.out.println("标签值为 "+element.text());
System.out.println("属性名为nid的值 "+element.attr("nid"));
};
} catch (IOException e) {
e.printStackTrace();
} catch (XpathSyntaxErrorException e) {
e.printStackTrace();
}
}
}
3.结果
标签名为 name
标签值为 军
属性名为nid的值 2
4.感想
(1)开发文档是一切,没有在开发文档找不到的东西