XML-DOM

这里是XML的DOM解析,SAX解析就在下篇文章。

Dom接口
Documennt接口 表示XML文档的顶级节点,它可以访问文档中的所有节点---包括根节点
Node接口 表示一个XML文档节点
NodeList接口 表示Node对象的只读列表
Element接口 表示一个元素节点,由Node派生而来
Attr接口 表示一个属性节点,由Node派生而来
CharacterData接口 表示字符数据,由Node派生而来
Text接口 表示一个文本节点,由CharacterData派生而来
Comment接口 表示一个注释节点,由CharacterData派生而来
ProcessingInstruction接口 表示一个处理批示节,由Node派生而来
CDATASection接口 表示一个CDATA部分,由Text派生而来

1、Document接口
它代表了整个XML文档,它是整个文档的根节点
(1)常用属性:
Doctype  记录文档的文档类型说明
documentElement 该属性为访问文档的根元素提供了一种简单的方法
(2)常用方法:
createAttribute 创建一个属性节点,然后利用setAttribute方法把属性设置为某个元素的属性
createCDATASection 创建一个CDATASection节点,节点的值就是参数data中传递的内容
createMessage 创建一个注释节点
createEntityReference 创建一个实体引用节点。如果被引用的实体是己知的,那么该实体引用节点跟相应的实体节点具体有相同的子节点集
createProcessingInstance 创建一个具有指定的名字和数据的处理指令节点
createTextNode 创建一个具有指定的字符串内容的文本节点
getElementById 返回一个具有给定ID的元素节,如果没有这样的元素存在,就返回NULL
getElementByTagName 返回一个节点的集合(NodeList),该集合中所有的元素都具有参数中所标记名,集合中的所有元素按照在DOM树中前序排列进行排序

2、Node接口
常用方法:
appendChild 把参数中传递过来的newChild添加到当前节点的所有的子节点列表最后
cloneNode 复制当前节点,复制产生的节没有父节点(parentNode是Null),包括复制该元素本身的所有属性和属性值,以及由XML处理器生成的缺少的属性和属性值
hasChildNodes 判断当前节点是否有子节点
createElement 创建一个指定类型的元素节点
insertBefore 把节点newChild插入到当前节点的子节点refChild之前
removeChild 从当前节点的子节点中删除oldChild节点,并返回oldChild节点
replaceChild 用newChild节点代替当前节点中的子节点oldChile,并返回oldChild节点
getChildNodes 返回节点的子节点集合


3、JAXP(Java API for XML Processing)
    实例中我们使用它进行XML的各种操作。它主要在javax.xml.parsers包中。在这个包中,一共提供了DocumentBuilder、 DocumentBUilderFactory、 FactoryConfigurationError、ParserConfigurationException、SAXParser和SaXParserFactory 几个类。
  •  
  • org.w3c.dom:定义了DOM中的所有组件
  • java

4、示例

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
}
catch (ParserConfigurationException pce) {
System.err.println(pce); //出异常时输出异常信息,然后退出,下同
System.exit(1);
}
try{
doc=db.parse(infile);
}catch(DOMException e){
e.printstack();
}
NodeList list=doc.getElementsByTagName("节点元素名");
for(i=0;i<list.length();i++){
Element e=(Element)list.item(i);
System.out.pritnln("value="+e.getAttribute());
}
javax.xml.parser:JAXP API定义了SAX和DOM的一个通用接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值