首页 课程 师资 教程 报名

Java解析xml字符串

  • 2022-09-20 10:27:09
  • 1140次 动力节点

使用 DOM 和 StringReader。

导入 javax.xml.parsers.*;
导入 org.xml.sax.InputSource;
导入 org.w3c.dom.*;
导入java.io.*;
公共类 ParseXMLString {
  公共静态无效主要(字符串arg []){
     字符串 xmlRecords =
      "<数据>" +
      " <员工>" +
      " <name>约翰</name>" +
      " <title>经理</title>" +
      " </员工>" +
      " <员工>" +
      " <name>萨拉</name>" +
      " <title>文员</title>" +
      " </员工>" +
      "</数据>";
    尝试 {
        DocumentBuilderFactory dbf =
            DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        InputSource is = new InputSource();
        is.setCharacterStream(new StringReader(xmlRecords));
        文档 doc = db.parse(is);
        NodeList 节点 = doc.getElementsByTagName("employee");
        // 迭代员工
        for (int i = 0; i < nodes.getLength(); i++) {
           元素 element = (Element) nodes.item(i);
           NodeList name = element.getElementsByTagName("name");
           元素行 = (元素) name.item(0);
           System.out.println("名称:" + getCharacterDataFromElement(line));
           NodeList title = element.getElementsByTagName("title");
           line = (元素) title.item(0);
           System.out.println("标题:" + getCharacterDataFromElement(line));
        }
    }
    捕获(异常 e){
        e.printStackTrace();
    }
    /*
    输出 :
        姓名:约翰
        职称:经理
        姓名:萨拉
        职称:文员
    */        
  }
  公共静态字符串 getCharacterDataFromElement(元素 e){
    节点子 = e.getFirstChild();
    if(CharacterData 的子实例){
       CharacterData cd = (CharacterData) 孩子;
       返回 cd.getData();
    }
    返回 ”?”;
  }
}

 

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交