saxreader XML解析原理详解

//创建SAXReader对象解析xml
SAXReader saxReader = new SAXReader();
//创建InputStream输入流对象获取xml文件的资源路径
InputStream resourceAsStream = TieCardClient.class.getClassLoader().getResourceAsStream("message/tieCard.xml");
 //入文件的资源流到read方法里,saxreader对象调用读取文件的方法
Document read = saxReader.read(resourceAsStream);
			
//使用 serialIds 对象来进行Document访问获取文档的根元素的方法
List serialIds = read.selectNodes("//serialId");
serialIds.get(0).setText(serialId);
Iterator serialIds =serialIds.elementIterator(); //创建元素集合
while(serialIds.hasNext()){  //循环查看元素是否存在
Element ee = elememt.next(); //查看下一个元素
	//获取子元素的中的id元素
	String id = ee.attributeValue("id");
	System.out.println("编号:"+id);
进行读的操作:
StringWriter stringWriter = new StringWriter();
int length = 0;
while ((length = inputStream.read(bytes)) > 0) {
    stringWriter.append(new String(bytes, 0, length));
    bytes = new byte[1024];
}
String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。输出为字母编码的数字比如a为49
Document read2 = saxReader.read(new ByteArrayInputStream(stringWriter.toString().getBytes(StandardCharsets.UTF_8)));
String status = read2.selectNodes("//status").get(0).getText();

 

你可能感兴趣的:(saxreader XML解析原理详解)