.net解析传过来的xml_DOM4J解析XML文件

*# 什么是解析XML?

相信一些初学者回经常听到反射,解析xml文件一类的词汇,但是究竟什么是解析什么是反射呢?

解析xmlwen文件

解析(parser):从xml中把我们需要的数据提取出来就是xml解析.

解析的分类:

JDK自带方式

* Dom解析

* SAX解析

第三方解析

* Dom4J

* JDOM

在xml中,最终所有的标签都跟顶级标签有关系的

DOM: document Object Model 文档对象模型(树状模型) :通过面向对象的方式把我们所需要的诗句提取出来就叫做Dom解析.

框架都是用dom4j解析的.

Rss阅读器也是通过解析就可以轻松实现的哦!!!!!

DOM4J特点: 性能优越,功能强大,及其易使用

给大家找到了一个关于SAX解析和DOM解析的比较,有兴趣的朋友可以看一下。

简单介绍完解析的分类接下来给大家讲解一下如何解析一个xml文件

解析web.xml案例

为了方便解析,我将写好的web.xml移动到src下(web.xml的内容是随便在其他练习工程中随便拷贝的)

然后进入jar包:dom4j-1.6.1.jar(我用到的jar包版本,点击打开后第一个

链接: link.)

接下来给大家详细解释一下如何解析我们的web.xml

package com.ambow.parser;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class ParserXml {public static void main(String[] args) throws Exception {// 创建读取流,将我们的目标文件读取出来InputStream in=ParserXml.class.getClassLoader().getResourceAsStream("web.xml");// 创建读取器SAXReader reader=new SAXReader(); // 用读取器中获取读取的对象Document document=reader.read(in);// 获取根节点(所有的解析xml,都需要先获取根节点,即根标签)Element root=document.getRootElement();// 获取根标签的名字和内容String rootname=root.getName();// 打印一下看看我们能否获取跟标签System.out.println(rootname);System.out.println("------------------------------");// Element servlet=root.element("servlet");// 过去跟标签后,我们继续向下寻找跟标签的子标签(爹(跟标签)找儿子(子标签))// 跟标签下有且有多个servlet和servlet-mapping标签,所以用集合List list=root.elements("servlet");List list1=root.elements("servlet-mapping");// 遍历读取标签中我们想要的信息for (Element e : list) {System.out.println(e.elementText("servlet-name"));System.out.println(e.elementText("servlet-class"));}System.out.println("----------------------------------------");// 遍历servlet-mapper标签的信息for (Element e1 : list1) {System.out.println(e1.elementText("servlet-name"));System.out.println(e1.elementText("url-pattern"));}}}

接下来是web.xml中的内容

<?xml version="1.0" encoding="UTF-8"?>DoSaveCheckUserActioncom.ambow.action.DoSaveCheckUserActionDoSaveCheckUserAction/dosavecheckuserDoLoginUserActioncom.ambow.action.DoLoginUserActionDoLoginUserAction/dologinDoCheckUnameActioncom.ambow.action.DoCheckUnameActionDoCheckUnameAction/checkunameDoCheckRegActioncom.ambow.action.DoCheckRegActionDoCheckRegAction/checkregDoCheckRegAction1DoCheckRegAction1com.ambow.action.DoCheckRegAction1DoCheckRegAction1/docheckDoFindLoginInfoActionDoFindLoginInfoActioncom.ambow.action.DoFindLoginInfoActionDoFindLoginInfoAction/findlastDoSavePubmessageActionDoSavePubmessageActioncom.ambow.action.DoSavePubmessageActionDoSavePubmessageAction/savepubmessageDoJoinPubActionDoJoinPubActioncom.ambow.action.DoJoinPubActionDoJoinPubAction/joinpubDoFindUserLikeActionDoFindUserLikeActioncom.ambow.action.DoFindUserLikeActionDoFindUserLikeAction/finduserlikeyanzhengmacom.ambow.action.YanZhengMayanzhengma/yanzhengmaDoFindFriendActioncom.ambow.action.DoFindFriendActionDoFindFriendAction/findfriendbyidDoDeleteFriendActionDoDeleteFriendActioncom.ambow.action.DoDeleteFriendActionDoDeleteFriendAction/deletefriendDoSaveFriendActionDoSaveFriendActioncom.ambow.action.DoSaveFriendActionDoSaveFriendAction/savefriendDoCheckFriendActionDoCheckFriendActioncom.ambow.action.DoCheckFriendActionDoCheckFriendAction/checkfriendDoCheckSuccessDoCheckSuccesscom.ambow.action.DoCheckSuccessDoCheckSuccess/checksuccessDoFindSmessageActionDoFindSmessageActioncom.ambow.action.DoFindSmessageActionDoFindSmessageAction/findsmessageDoSaveSmessageActionDoSaveSmessageActioncom.ambow.action.DoSaveSmessageActionDoSaveSmessageAction/savesmessageDoFindManagerDoFindManagercom.ambow.action.DoFindManagerDoFindManager/findmanagerDoupUserActionDoupUserActioncom.ambow.action.DoupUserActionDoupUserAction/upuserDoFindPubmessageActionDoFindPubmessageActioncom.ambow.action.DoFindPubmessageActionDoFindPubmessageAction/findmessageRefreshActionRefreshActioncom.ambow.action.RefreshActionRefreshAction/RefreshAction

运行代码,结果如下:

17b51dad18a64c8489f5b92b36e28899
190b37da571f415383863776fa2e1a82

————————————————

版权声明:本文为CSDN博主「薄荷旅馆」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_45294302/article/details/103416511

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值