Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 357|回复: 0

[xml学习]JDOM操作xml例子

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-10 05:04:32 | 显示全部楼层 |阅读模式
    这是jdom-b10中的例子程序。
    import java.io.File;
    import java.io.IOException;
    import java.io.PrintStream;
    import java.util.Iterator;
    import java.util.List;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    import org.jdom.output.XMLOutputter;

    /** *
    1. WarReader
    复制代码
    demonstrates how to
           * read a Servlet 2.2 Web ArcHive file with JDOM.
      * * * @author Brett McLaughlin, Jason Hunter
           * @version 1.0 */
      
       
       
       

       
      


    1. public class WarReader {
    2.    
    3.   public static void main(String[] args) throws IOException, JDOMException {
    4.     if (args.length != 1) {
    5.       System.err.println("Usage: samples.WarReader [web.xml]");
    6.       return;
    7.     }
    8.     String filename = args[0];
    9.     PrintStream out = System.out;
    10.     SAXBuilder builder = new SAXBuilder();
    11.     Document doc = builder.build(new File(filename));
    12.     // Get the root element
    13.     Element root = doc.getRootElement();
    14.     // Print servlet information
    15.     List servlets = root.getChildren("servlet");
    16.     out.println("This WAR has "+ servlets.size() +" registered servlets:");
    17.     Iterator i = servlets.iterator();
    18.     while (i.hasNext()) {
    19.       Element servlet = (Element) i.next();
    20.       out.print("        " + servlet.getChild("servlet-name")
    21.                               .getTextTrim() +
    22.                 " for " + servlet.getChild("servlet-class")
    23.                                  .getTextTrim());
    24.       List initParams = servlet.getChildren("init-param");
    25.       out.println(" (it has " + initParams.size() + " init params)");
    26.     }
    27.     // Print security role information
    28.     List securityRoles = root.getChildren("security-role");
    29.     if (securityRoles.size() == 0) {
    30.       out.println("This WAR contains no roles");
    31.     }
    32.     else {
    33.       Element securityRole = (Element) securityRoles.get(0);
    34.       List roleNames = securityRole.getChildren("role-name");
    35.       out.println("This WAR contains " + roleNames.size() + " roles:");
    36.       i = roleNames.iterator();
    37.       while (i.hasNext()) {
    38.         Element e = (Element) i.next();
    39.         out.println("        " + e.getTextTrim());
    40.       }
    41.     }
    42.         
    43.     // Print distributed information (notice this is out of order)
    44.     List distrib = root.getChildren("distributed");
    45.     if (distrib.size() == 0) {
    46.       out.println("This WAR is not distributed");
    47.     } else {
    48.       out.println("This WAR is distributed");
    49.     }        
    50.   }
    51. }
    复制代码
    程序运行结果: C:java>java WarReader web.xml
    This WAR has 2 registered servlets:
    snoop for SnoopServlet (it has 0 init params)
    file for ViewFile (it has 1 init params)
    This WAR contains 3 roles:
    manager
    director
    president
    This WAR is distributed C:java> 附:web.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <!--
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
    --> <web-app>
      <servlet>
       <servlet-name> snoop</servlet-name>
       <servlet-class> SnoopServlet</servlet-class>
    </servlet>

    <servlet>
      <servlet-name> file</servlet-name>
      <servlet-class> ViewFile</servlet-class>
      <init-param>
        <param-name> initial</param-name>
        <param-value> 1000</param-value>
        <description> The initial value for the counter <!-- optional --> </description>
       </init-param>
    </servlet>

    <servlet-mapping>
       <servlet-name> mv</servlet-name>
       <url-pattern> *.wm</url-pattern>
    </servlet-mapping>  <distributed/>  <security-role>
      <role-name> manager</role-name>
      <role-name> director</role-name>
      <role-name> president</role-name>
    </security-role>
      </web-app>
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-23 01:21 , Processed in 0.380754 second(s), 48 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表