qvjing520 2011-10-11 21:01
浏览 204
已采纳

解析过XML的请进

我遇到一个问题 碰到一个第三方写好的xml要解析 这个xml能容不能改 其中包含一些未知的特殊字符 请问谁有过滤特殊字符的代码或者 方法 分享一下 不胜感激

  • 写回答

3条回答 默认 最新

  • long13131462101 2011-10-11 23:43
    关注

    [code="java"]
    package www.oneddu.cn;
    import java.util.List;
    import org.jdom.Attribute;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.input.SAXBuilder;
    public class ParseForJdomDemo {
    public void parseXML() {
    SAXBuilder builder = new SAXBuilder();// 创建构建对象
    try {
    // 通过传入文件名通过 builder构建一个document文档对象
    Document document = builder.build("data-sources.xml");
    // Document对象提供了获取XML文件根节点以及文档中各节点及属性的方法
    // 获取 该XML文件中的根节点,返回Element对象
    /*
    * Element是 XML元素对象,该类提供了拿取和操作当前节点的子节点元素和内容, 可直接通过元素拿取文本内容
    */
    Element root = document.getRootElement();
    System.out.println("获取到的根节点名字---->" + root.getName());
    // root.getChildren()该方法返回所有的子元素(子节点)
    java.util.List childList = root.getChildren();
    for (Element child : childList) { // 遍历这个集合,想要拿取所有的子元素的信息
    System.out.println("获取到的子节点的元素名---->" + child.getName());
    // 获取该节点下所有的属性及属性值
    List attributes = child.getAttributes();
    // Attribute 中存放的是该节点的属性及值,
    for (Attribute attribute : attributes) {
    System.out.println("获取 " + child.getName() + "--节点的属性名-->"
    + attribute.getName() + "\t 值="
    + attribute.getValue());
    }

    // 接下来,做的是获取该节点下的所有的子节点信息
    List<Element> sunziList = child.getChildren();// 获取 param
                // 节点下的子节点
                // ,相对根节点而言是孙节点
    for (Element sunzi : sunziList) { // 遍历孙节点的集合
     System.out.println("孙节点名---" + sunzi.getName() + "\t 值="
       + sunzi.getValue());
    }
    
    /*
     * Element保存的是节点及节点的值 Attribute 保存的是属性及属性的值 <param
     * database="mysql" version="5.0"> 这条语句中 param 是节点名,database
     * 是属性名,version 是属性名 
     */
    

    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    public static void main(String[] args) {
    ParseForJdomDemo p = new ParseForJdomDemo();
    p.parseXML();
    }
    }
    我已经尽力了……
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器