Java DOM方式解析XML(模板)
2024-08-30 20:33:23
//创建一个DocumentBuilderFactory工厂实例
DocumentBuilderFactory DBF=DocumentBuilderFactory.newInstance();
//通过工厂实例对象创建一个DocumentBuilder实例
DocumentBuilder DB=DBF.newDocumentBuilder();
//解析URL指定的XML文件,并保存到D变量
Document D=DB.parse("URL路径");
//通过标签名获取节点标签
NodeList NL=D.getElementsByTagName("标签");
//循环遍历NL集合
for(int i=0;i<NL.getLength();i++){
//通过索引值获取指定的Node节点
Node N=NL.item(i);
/*获取指定属性(已知属性名和数量为1)
* 节点强制类型转换
* Element E=(Element)E;
*通过属性名获取属性值
* E.getAttribute("node_name");
* */
//获取节点的所有属性
NamedNodeMap NNM=N.getAttributes();
//遍历属性Map集合
for(int j=0;j<NNM.getLength();j++){
//通过索引获取指定属性
Node attributeNode=NNM.item(j);
//获取属性节点Name名称
attributeNode.getNodeName();
//获取属性节点Value属性值
attributeNode.getNodeValue();
} //获取N节点的所有子节点
NodeList NL1=N.getChildNodes();
//遍历NL1集合
for(int k=0;k<NL1.getLength();k++){
//筛选出非节点的
if(NL1.item(k).getNodeType()==Node.ELEMENT_NODE){
//获取节点名
NL1.item(k).getNodeName();
//获取当前节点的子节点的值,XML文件一切皆为节点
//也可通过NL1.item(k).getTextContent()方法获取文本节点
//getTextContent区别是这个会把子节点的元素的Text值合并起来输出
NL1.item(k).getFirstChild().getNodeValue();
}
}
}
最新文章
- ajax参数设置略解
- Twitter Storm如何保证消息不丢失
- CMDB反思5
- java继承分析
- iis无法加载样式
- opencv 基本绘图函数
- Oracle启用和禁用触发器
- c# DataSet转换为Json
- WCF初见之SQL数据库的增删改查
- Java配置分离之Spring远程配置
- 1090. Highest Price in Supply Chain (25)-dfs求层数
- iOS:获取 NSDate 的年
- 贪心算法-Best cow line-字典序问题
- delete指针以后应赋值为NULL——QT deletelater指针以后也同样要马上赋值为NULL
- java中Scanner的nextLine()和next()的区别
- 2018HN多校
- S2-052复现过程(附POC利用)
- 一张图看懂 JS 原型链
- 检测com端口代码实现
- 计蒜客button 概率