XML解析
来源:互联网 发布:大学生体育锻炼数据 编辑:程序博客网 时间:2024/06/14 03:47
domcument解析
public class DomDemo implements XmlDocument { //文档树 private Document document; //文件路径 private String fileName; /* * 该初始化方法用来获得解析器 */ public void init() { try { //先得到解析器工厂的实例 DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); //取得到解析器 DocumentBuilder builder = factory.newDocumentBuilder(); //通过解析器来得到一个文档对象 this.document = builder.newDocument(); } catch (ParserConfigurationException e) { System.out.println(e.getMessage()); } } @Override public void createXml(String fileName) { //创建根节点 Element root = this.document.createElement("employees"); //把根节点加到文档树上去 this.document.appendChild(root); //创建了一个<employee>节点 Element employee = this.document.createElement("employee"); //创建name节点 Element name = this.document.createElement("name"); //给name节点里面里面添加文本节点 name.appendChild(this.document.createTextNode("丁宏亮")); //将name节点加到employee节点中去 employee.appendChild(name); Element sex = this.document.createElement("sex"); sex.appendChild(this.document.createTextNode("m")); employee.appendChild(sex); Element age = this.document.createElement("age"); age.appendChild(this.document.createTextNode("30")); employee.appendChild(age); //将创建好的employ节点加到跟节点里面去 root.appendChild(employee); //得到TransformerFactory工厂 TransformerFactory tf = TransformerFactory.newInstance(); try { //通过TransformerFactory工厂得到Transformer对象 Transformer transformer = tf.newTransformer(); //将documengt对象转换成dom源 DOMSource source = new DOMSource(document); transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); PrintWriter pw = new PrintWriter(new FileOutputStream(fileName)); StreamResult result = new StreamResult(pw); StreamResult consol=new StreamResult(System.out); transformer.transform(source, result); transformer.transform(source, consol); System.out.println("生成XML文件成功!"); } catch (TransformerConfigurationException e) { System.out.println(e.getMessage()); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } catch (TransformerException e) { System.out.println(e.getMessage()); } } @Override public void parserXml(String fileName) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.parse(fileName); NodeList employees = document.getChildNodes(); for (int i = 0; i < employees.getLength(); i++) { Node employee = employees.item(i); NodeList employeeInfo = employee.getChildNodes(); for (int j = 0; j < employeeInfo.getLength(); j++) { Node node = employeeInfo.item(j); NodeList employeeMeta = node.getChildNodes(); for (int k = 0; k < employeeMeta.getLength(); k++) { System.out.println(employeeMeta.item(k).getNodeName() + ":" + employeeMeta.item(k).getTextContent()); } } } System.out.println("解析完毕"); } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } catch (ParserConfigurationException e) { System.out.println(e.getMessage()); } catch (SAXException e) { System.out.println(e.getMessage()); } catch (IOException e) { System.out.println(e.getMessage()); } }
0 0
- XML解析
- xml解析
- XML解析
- 解析XML
- xml解析
- 解析xml
- 解析xml
- xml解析
- XML解析
- xml解析
- XML解析
- xml解析
- xml解析
- xml解析
- xml解析
- xml解析
- 解析xml
- XML解析
- 机器学习算法之SVM(1)结构风险最小化
- Listview的基础使用
- 在react-native的项目中跳转到原生iOS页面
- docker挂载
- Qt5.7+Opencv2.4.9人脸识别(四)模型训练
- XML解析
- bzoj 1996: [Hnoi2010]chorus 合唱队 dp
- cocos2d-x 3.x窗口大小
- 8 种 NoSQL 数据库系统对比
- Android动画学习笔记-Android Animation
- yii查询结果对象转为数组
- 简单求和题(初学)
- 半小时学会上传本地项目到github
- DIV+CSS实现生气的猫咪老师