0 0

解析过XML的请进5

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

3个答案 按时间排序 按投票排序

0 0

采纳的答案

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<Element> childList = root.getChildren();
   for (Element child : childList) { // 遍历这个集合,想要拿取所有的子元素的信息
    System.out.println("获取到的子节点的元素名---->" + child.getName());
    // 获取该节点下所有的属性及属性值
    List<Attribute> 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();
 }
}
我已经尽力了……

2011年10月11日 23:43
0 0

引用
如果特殊的字符用<![CDATA[特殊字符]]> 包含了,就不会用问题,解析的时候不会去解析这个,如果没有,原始的xml可能要修改了,
你现在解析这xml报错么?

2011年10月12日 08:26
0 0

未知的特殊字符 什么意思,解析xml的,只要他的xml是正确的,特殊字符他会cdata处理的,解析的时候不用特殊处理

引用
http://topic.csdn.net/u/20090213/14/fb8d1077-63db-4cf3-93d0-c97089b4606a.html
可能对你有帮助

2011年10月11日 22:49

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    3.3.6 使用sax解析xml文档实例 74 3.4 jdom 83 3.4.1 下载并配置jdom 83 3.4.2 jdom api介绍 84 3.5 dom4j 88 3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    3.3.6 使用sax解析xml文档实例 74 3.4 jdom 83 3.4.1 下载并配置jdom 83 3.4.2 jdom api介绍 84 3.5 dom4j 88 3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    3.3.6 使用sax解析xml文档实例 74 3.4 jdom 83 3.4.1 下载并配置jdom 83 3.4.2 jdom api介绍 84 3.5 dom4j 88 3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    3.3.6 使用sax解析xml文档实例 74 3.4 jdom 83 3.4.1 下载并配置jdom 83 3.4.2 jdom api介绍 84 3.5 dom4j 88 3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 ...

    AJAX详解,菜鸟请进

    3. **XML与JSON**:虽然名字中包含XML,但实际应用中,更多使用JSON(JavaScript Object Notation)作为数据交换格式,因为JSON更轻量级且易于解析。 二、AJAX的工作流程 1. **创建XMLHttpRequest对象**:这是AJAX...

    jopenlyricslib:适用于Java的OpenLyrics解析器和编写器

    库用于将OpenLyrics XML解析为复杂的Java POJO,并且包含用于将结果导出回的实用程序。局限性进出口仍然有限。 但是,如果您发现缺少的东西,请随时贡献补丁。 :-)进一步的方向该库基于OpenLyrics v 0.8规范。 但是...

    微信服务商商户进件和退款工具类

    `WXPayUtil.java`可能是一些辅助工具类,包含了一些通用的函数,如签名生成、XML解析、日期转换等,这些都是微信支付接口交互过程中必不可少的。 `WXPayReport.java`可能是用于发送交易报告的类,微信支付系统要求...

    php程序员面试题(含html、JavaScript、php和mysql)

    **解析:**AJAX(Asynchronous JavaScript and XML)是一种创建交互式网页应用的技术。其原理是在不重新加载整个网页的情况下,能够与服务器交换数据并更新部分网页的技术。 #### 文件上传过程 **问题:**说说文件...

    JSP的两种设计模式 Model1和Model2

    对于XML文件的解析,通常使用如Apache Commons Digester这样的库,它可以自动匹配XML结构并执行相应的操作,如创建对象、设置属性等,简化了代码编写。在上述的`digester-rules`示例中,定义了当解析到`action-...

    Python3网络编程基础第二版

    书中附带的"更多精彩内容请进.txt"可能提供了更多资源链接、示例代码或作者的进一步说明,帮助读者扩展学习和深入研究。 总之,《Python3网络编程基础第二版》是Python网络开发者的宝贵资源,通过系统学习,读者将...

    一头扎进Ajax&Json视频教程第三讲A

    在本节视频教程“一头扎进Ajax&Json视频教程第三讲A”中,我们将深入探讨JavaScript中的异步数据传输技术——Ajax(Asynchronous JavaScript and XML)及其与JSON(JavaScript Object Notation)的数据交换格式。...

    安卓反编译工具DoAPK

    汉化:一般的信息在res\values\下的XML文件中,string.xml,你也可以做嵌入式汉化,具体搜搜坛子里,我没搞过. 也有程序直接把文字写在java程序了,所以在smali目录下也可能会有一些,smali目录的.smali文件是对java文件...

    android基础第一次考试题.docx

    - `assets` 目录下的文件不会被编译处理,而是直接打包进 apk 文件中。 - 适合存放原始文件,如音频、视频或文本文件等。 ### 4. Android命令行工具 #### 通过 adb 安装 apk - **答案解析**:选择 A、adb install...

    安卓期末大作业-Java开发基于Android平台的图书管理系统源码+项目说明.zip

    在新闻板块,是通过访问交大图书馆官网获得xml包,但是由于对xml语言的解析不是很熟,使得只能看到接收的xml语言。 其他方面:各个界面不是很美观,比较粗糙,各个界面的衔接还需要改进。 【注】 1.项目代码均经过...

    android 天气 软件

    【描述】:“资源仅供参考学习,所用的API是心知天气,如果运行报错,程序进不去,请自行申请API,修改key,key在WeatherURL类里面” 描述中提到,这个项目可能是一个学习资源,它使用了心知天气的API来获取天气...

    impex-portal:用于访问科学 Web 服务的 IMPEx 门户

    3.2.0 jQuery:2.1.1 *详情请参阅 public/js/bower.json 生产版本后端包括: XML/JSON 格式的当前 IMPEx 配置文件(conf 目录) XML 元数据树和 WSDL 文件的离线版本(树/方法目录) Global.scala(默认包)中远程...

    java 获取照片拍摄地点等基本信息

    // 这里需要进一步解析GPS坐标字符串,转换为度分秒形式,然后计算为十进制度 // 由于具体实现较复杂,这里省略了详细代码 } } ``` **使用Java内置的`javax.imageio.ImageIO`** 1. 如果你的Java环境是Java 7或...

    doapkdoapk反编译工具

    smali目录的.smali文件是对java文件的解析,不能瞎改,汉化的话要注意,搜索整个目录,找到你要汉化的文字,替换成就行,注意,里面的参数别瞎改,不然程序编译不成功或者不能正常运行,如果汉化是改的.smali文件,请将其转为...

    Maven 构建 Kettle 时所需的部分jar包

    本文将深入探讨Maven如何用于构建Kettle项目,并解析与之相关的jar包的重要性。 首先,Maven是一个广泛使用的Java项目管理工具,它提供了一种标准化的方式来管理和构建Java项目。Maven通过依赖管理和项目信息管理,...

Global site tag (gtag.js) - Google Analytics