我遇到一个问题 碰到一个第三方写好的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]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器