获取XML的文件信息

 

 1 /**
 2  * 获取XML文件的信息
 3  */
 4 import java.io.IOException;
 5 import javax.xml.parsers.DocumentBuilder;
 6 import javax.xml.parsers.DocumentBuilderFactory;
 7 import javax.xml.parsers.ParserConfigurationException;
 8 import org.w3c.dom.Document;
 9 import org.w3c.dom.Element;
10 import org.w3c.dom.Node;
11 import org.w3c.dom.NodeList;
12 import org.xml.sax.SAXException;
13 
14 public class DOMDemo {
15     private Document document = null;
16     public void getDocument(){
17         DocumentBuilderFactory  factory=DocumentBuilderFactory.newInstance();
18         try {
19             DocumentBuilder builder=factory.newDocumentBuilder();
20             document=builder.parse("手机信息.xml");
21         } catch (ParserConfigurationException e) {
22             e.printStackTrace();
23         } catch (SAXException e) {
24             e.printStackTrace();
25         } catch (IOException e) {
26             e.printStackTrace();
27         }
28     }
29     public void show() {
30         //找到所有的Brand
31         NodeList nodelist = document.getElementsByTagName("Brand");
32         //遍历每一个Brand
33         for(int i = 0;i<nodelist.getLength();i++) {
34             Node node = nodelist.item(i);
35             //转为元素类型
36             Element eleBrand = (Element)node;
37             System.out.println("品牌:"+eleBrand.getAttribute("name"));
38 
39             //找到每一个Type
40             NodeList typelist = eleBrand.getElementsByTagName("Type");
41             //遍历
42             for(int j = 0;j<typelist.getLength();j++) {
43                 Node node2 = typelist.item(j);
44                 //因为Brand的子节点中可能有非元素节点,比如属性节点、文本节点
45                 //所以要先判断该子节点是否是一个元素节点,如果是才能进行强转
46                 //node2.getNodeType()这个方法是获取到当前节点的节点类型——元素节点、属性节点、文本节点
47                 if(node2.getNodeType()==Node.ELEMENT_NODE) {
48                     Element eleType = (Element)node2;
49                     System.out.println("\t型号:"+eleType.getAttribute("name"));
50                 }
51             }
52         }
53 
54     }
55 
56     public static void main(String[] args) {
57         DOMDemo dd = new DOMDemo();
58         dd.getDocument();
59         dd.show();
60     }
61 
62 }

输出:

 

转载于:https://www.cnblogs.com/Zhangchuanfeng1/p/10512962.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 中的三元表达式(三目运算符)

python中的三目运算符不像其他语言 其他的一般都是 判定条件?为真时的结果:为假时的结果 如 result5>3?1:0 这个输出1&#xff0c;但没有什么意义&#xff0c;仅仅是一个例子。 而在python中的格式为 为真时的结果 if 判定条件 else 为假时的结果 还是上面的例子 1 if 5…

Linux 命令简单介绍第一课笔记

第一&#xff1a; 相对路径和绝对路径 相对路径:从当前路径开始进入blog文件夹 cd blog绝对路径&#xff1a;从跟目录开始进入blog文件夹 cd /home/yq/Desktop/blog 全称&#xff1a;根目录下home文件下的yq文件下的Desktop文件下的blog文件夹cd ./blog&#xff1a;进入当前…

我是如何转行 AI 并且实现薪资翻倍的

大家好啊&#xff0c;我是董董灿。 熟悉我的小伙伴都知道&#xff0c;我之前在北京某211大学&#xff0c;本硕读了7年的机械专业&#xff0c;后来硕士毕业后&#xff0c;果断转行去做了嵌入式开发&#xff0c;随后瞅准了 AI 爆发的时机果断转行去做了AI。 这段经历已经过去了…

16_1

从16年开始向前&#xff0c;就变得简单了 一、问题 一&#xff0c;给定一个数n&#xff0c;将这个数的各位顺序颠倒&#xff0c;称为逆序数m。 例如1234的逆序数是4321 如果m是n的整数倍&#xff0c;那么输出n*km&#xff0c;例如&#xff1a; 输入&#xff1a; 1089 输出&…

免费网络研讨会:调试生产中Java的新方法

什么是最有用的Java生产调试技术&#xff1f; 您永远不知道将新代码部署到生产中时会发生什么。 曾经很好的工作代码可能会变成有问题的应用程序&#xff0c;无法按预期工作。 这就是为什么在生产中进行调试是了解应用程序在现实生活中的行为而不是您如何思考其行为的关键要素。…

你必须了解的session的本质

有一点我们必须承认&#xff0c;大多数web应用程序都离不开session的使用。这篇文章将会结合PHP以及http协议来分析如何建立一个安全的会话管理机制。我们先简单的了解一些http的知识&#xff0c;从而理解该协议的无状态特性。然后&#xff0c;学习一些关于cookie的基本操作。最…

Linux 命令简单介绍第二课笔记

第一&#xff1a;touch touch 1.txt 创建文件第二&#xff1a;ls ls 用来查看当前文件中的内容&#xff0c;其中加上不同参数-a,-h,-l可以有不同的显示&#xff0c;同事也可以将一个具体内容从定向到一个TXT文件中&#xff1a;具体如下 第三&#xff1a;grep搜索 grep:文本搜索…

人工智能实战_第一次作业_杨佳宁_16141032

项目内容这个作业属于哪个课程班级博客这个作业的要求在哪里作业要求我在这个课程的目标是对于人工智能有一定的了解这个作业在哪个具体方面帮助我实现目标能够有平台支持我对于人工智能更加深入的了解与交流作业正文见下其他参考文献无具体作业1、描述你在这门课想要达到的具体…

Linux压缩和解压缩命令汇总(tar命令汇总)

linux 中压缩文件非常常见&#xff0c;以下为本人对Linux压缩和解压缩命令进行了简单汇总&#xff0c;具体如下&#xff1a; 第一&#xff1a;打包解包 打包命令&#xff08;注意打包文件大小并没有压缩&#xff09; tar -cvf xxx.tar 要打包的文件解包命令 tar -xvf xxx.…

MFC程序打开控制台

转自&#xff1a;http://blog.csdn.NET/acaiacc/article/details/5543669 利用AllocConsole() 在你的MFC程序中添加这些代码&#xff0c;可以获得控制台的输入&#xff0c;你试试 AllocConsole(); freopen("CONOUT$","wt",stdout); freopen("…

jmeter异步请求测试_使用JMeter对异步HTTP / REST服务进行压力/负载测试

jmeter异步请求测试尽管我一直在使用JMeter进行Web应用程序的压力测试和负载测试好几次&#xff0c;但我们还是花了一些时间才弄清楚如何使用该工具测试基于异步HTTP / REST的服务。 对我们来说&#xff0c;我是一个程序员的同伴– Holger Staudacher &#xff0c;我很荣幸能与…

Linux 中vim编辑器学习笔记

vim是Linux是非常常用的编辑器&#xff0c;也是编程开发中的神器之一。接下来&#xff0c;是我学习vim编辑器的一些笔记&#xff0c;总结如下&#xff1a; 首先&#xff1a;我们接触的vim编辑器一共有三种模式&#xff0c;分别为命令模式、编辑模式、末行模式。 具体架构如下 …

Python 面向对象(初级篇)

概述面向过程&#xff1a;根据业务逻辑从上到下写垒代码函数式&#xff1a;将某功能代码封装到函数中&#xff0c;日后便无需重复编写&#xff0c;仅调用函数即可面向对象&#xff1a;对函数进行分类和封装&#xff0c;让开发“更快更好更强...”面向过程编程最易被初学者接受&…

利用IDA Pro反汇编程序

IDA Pro是一款强大的反汇编软件&#xff0c;特有的IDA视图和交叉引用&#xff0c;可以方便理解程序逻辑和快速定位代码片断&#xff0c;以方便修改。 IDA视图 示例程序 下面会通过修改示例程序的输出字符串&#xff0c;来讲解如何使用IDA Pro。 #includemain() {int n;scanf (…

Neo4j:找到两个纬度/经度之间的中间点

昨天我写了一篇博客文章&#xff0c;展示了如何使用Cypher查找两个纬度/经度之间的中点&#xff0c;这是第一次尝试填补丢失位置的方法&#xff0c;但我意识到我可以做得更好。 正如我在上一篇文章中提到的&#xff0c;当我找到一个缺少经纬度坐标的停靠点时&#xff0c;通常可…

Linux系统更新最新版R语言方法

Linux系统更新最新版R语言方法 第一&#xff1a;卸载之前的版本 sudo apt remove r-base-core第二&#xff1a;在 /etc/apt/sources中添加源 sudo vi /etc/apt/sources对于不同系统添加不同的源具体如下&#xff1a; #(19.04) deb https://cloud.r-project.org/bin/linux/…

Kali Linux下安装VMware

1.Kali Linux安装VMware Workstation 10.0 首先去官网下载VMware Workstation 10.0&#xff1b;下载地址&#xff1a; https://my.vmware.com/web/vmware/details?downloadGroupWKST-1006-LX&productId362&rPId8483 然后cd到下载目录&#xff0c;输入&#xff1a; su…

3月12号

上午复习了昨天的内容&#xff0c;学习了有序列表、无序列表、自定义列表、特殊字符标签. 下午学习了表格、表单、文本域、html新增标签、input新增的type属性值、多媒体标签、多媒体video. 这些知识都比较简单&#xff0c;我在来学校上课之前就已经非常熟悉了...... 最后发一张…

day10T1改错记

题面 有两个串\(A\)和\(B\)&#xff0c;长度分别为\(n\)和\(m\)&#xff0c;只含Z,P,S,B四个大写字母&#xff0c;定义\(B\)在第\(p\)位(\(0 \le p \le n - m\))匹配\(A\)为对\(B\)的每个位置\(B_i\)&#xff0c;在\(A_{\max (0, p i - k)}\)到\(A_{min(n - 1, p i k)}\)中都…

架构层和建模域逻辑

在讨论用于建模域逻辑&#xff08;例如事务脚本&#xff0c;表模块&#xff0c;域模型&#xff09;的PoEAA模式时&#xff0c;我注意到人们对域模型模式是最好的印象&#xff08;尽管印象不对&#xff09;。 因此&#xff0c;他们开始将其应用于所有内容。 不配领域模型模式 让…