W3C Document对象解析XML
1 public String viewPic(HttpServletRequest request, String id) {
2 //创建Document对象及读取XML文件
3 DocumentBuilderFactory builderFactory = DocumentBuilderFactory
4 .newInstance();
5 //解析XML
6 Document document=null;
7 try {
8 DocumentBuilder builder = builderFactory.newDocumentBuilder();
9
10 document = builder.parse(new File(request.getSession()
11 .getServletContext().getRealPath(
12 "/WEB-INF/classes/MyXml.xml")));
13 } catch (ParserConfigurationException e) {
14 e.printStackTrace();
15 } catch (SAXException e) {
16 e.printStackTrace();
17 } catch (IOException e) {
18 e.printStackTrace();
19 }
20 Element rootElement = document.getDocumentElement(); //获取根节点
21 NodeList childNodes = rootElement.getChildNodes(); //根节点下所有子节点
22
23 for (int i = 0; i < childNodes.getLength(); i++) { //循环第一层子节点
24 Node childNode = childNodes.item(i);
25 NodeList childNodes_2 = childNode.getChildNodes();
26 for(int j = 0;j < childNodes_2.getLength();j++){ //循环第二层子节点
27 Node childNode_2 = childNodes_2.item(j);
28 NodeList childNodes_3 = childNode_2.getChildNodes();
29 for(int k = 0;k < childNodes_3.getLength();k++){ //第三层
30 Node childNode_3 = childNodes_3.item(k);
31 System.out.println(childNode_3.getNodeValue());
32 }
33 }
34 }
35
36 return "img_1.jsp";
37 }
2 //创建Document对象及读取XML文件
3 DocumentBuilderFactory builderFactory = DocumentBuilderFactory
4 .newInstance();
5 //解析XML
6 Document document=null;
7 try {
8 DocumentBuilder builder = builderFactory.newDocumentBuilder();
9
10 document = builder.parse(new File(request.getSession()
11 .getServletContext().getRealPath(
12 "/WEB-INF/classes/MyXml.xml")));
13 } catch (ParserConfigurationException e) {
14 e.printStackTrace();
15 } catch (SAXException e) {
16 e.printStackTrace();
17 } catch (IOException e) {
18 e.printStackTrace();
19 }
20 Element rootElement = document.getDocumentElement(); //获取根节点
21 NodeList childNodes = rootElement.getChildNodes(); //根节点下所有子节点
22
23 for (int i = 0; i < childNodes.getLength(); i++) { //循环第一层子节点
24 Node childNode = childNodes.item(i);
25 NodeList childNodes_2 = childNode.getChildNodes();
26 for(int j = 0;j < childNodes_2.getLength();j++){ //循环第二层子节点
27 Node childNode_2 = childNodes_2.item(j);
28 NodeList childNodes_3 = childNode_2.getChildNodes();
29 for(int k = 0;k < childNodes_3.getLength();k++){ //第三层
30 Node childNode_3 = childNodes_3.item(k);
31 System.out.println(childNode_3.getNodeValue());
32 }
33 }
34 }
35
36 return "img_1.jsp";
37 }
1//XML文件
2 <?xml version="1.0" encoding="UTF-8"?>
3 <xml-body>
4 <link id="1">
5 <name>http://localhost:8080/tgklx/</name>
6 </link>
7 </xml-body>
3 <xml-body>
4 <link id="1">
5 <name>http://localhost:8080/tgklx/</name>
6 </link>
7 </xml-body>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee