//创建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访问获取文档的根元素的方法 ListserialIds = read.selectNodes("//serialId"); serialIds.get(0).setText(serialId);
IteratorserialIds =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();