精华内容
下载资源
问答
  • XML中如果没有自动提示功能话,需要引入约束文件,约束文件需要下载,如果避免下载话,则需要将下载链接和本地dtd约束文件关联. 打开eclipse-windows-preference,在搜索栏中搜索xml,点击xml catalog,在右侧点击...

    XML中如果没有自动提示功能的话,需要引入约束文件,约束文件需要下载,如果避免下载的话,则需要将下载的链接和本地的dtd约束文件关联.
    打开eclipse-windows-preference,在搜索栏中搜索xml,点击xml catalog,在右侧点击add
    在这里插入图片描述
    弹出如下对话框,点击file system,找到约束文件的位置,导入后再location后边显示找到的本地约束文件.key type 处选取URI.key处填入约束文件的URI.
    在这里插入图片描述

    展开全文
  • java读取xml配置文件

    千次阅读 2017-05-03 11:37:06
    1.配置文件好处, xml配置文件的优点, 当改变底层配置时 不需要改变和重新编译代码,只需要在xml中更改就可以了 2.先看下项目架构 3.static作用 static表示“全局”或者“静态”意思,用来修饰成员变量和成员...
    1.配置文件的好处, xml配置文件的优点, 当改变底层配置时 不需要改变和重新编译代码,只需要在xml中更改就可以了
    
    2.先看下项目架构


    3.static的作用
    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法
    可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)
    static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!
    对于变量,表示一旦给值就不可修改,并且通过类名可以访问。
    对于方法,表示不可覆盖,并且可以通过类名直接访问。
    //返回符合表达式的节点LIST
    List list = document.selectNodes(XPathExpression);
    //返回符合表达式的一个节点
    Node node = document.selectSingleNode(XPathExpression);
    
    package com.eznext.modul.municipal.util;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FilenameFilter;
    import java.io.InputStream;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import javax.mail.Flags.Flag;
    
    import org.dom4j.Attribute;
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    import municipl.wkh.*;
       //F:/javaworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/conserve/WEB-INF/classes/templates
    /***
     *  养护项目工具类
     *  
     * @author ideai
     *
     */
    public class MaintainUtil {
        public static  Map<String, String> cateMap = new HashMap<String, String>();
        public static  Map<String, String> typeMap = new HashMap<String, String>();
        public static  Map<String, String> subTypeMap = new HashMap<String, String>();
        /***
         * 初始化养护编码Map
         */
        static{
            read();
        }
        
         /***
          * 读取养护编码配置文件
          */
         private static void read()  {
             try {  
             // 使用SAXReader需要导入dom4j-full.jar包。
             // dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML  //API,具有功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。
                 SAXReader reader = new SAXReader();  
                 //获取路径
                 String path = getPath();
                 //读取文件流
                 InputStream in = new FileInputStream(new File(path));
                 //生成文档对应实体  
                 Document doc = reader.read(in);  
                 //打断点跟踪
                 Element root = doc.getRootElement();              
                 readNodeMap(root,"", false,"cateCode",cateMap);
                 readNodeMap(root, "",false,"typeCode",typeMap);
                 readNodeMap(root, "",true,"subTypeCode",subTypeMap);
             } catch (Exception e) {  
                 e.printStackTrace();  
             }  
         }  
         /***
          * 递归获取养护编码的值存入map中
          * @param root
          * @param prefix
          */
          //跟下看看是如何找到各自归属的
          @SuppressWarnings("unchecked")  
            private static void readNodeMap(Element root, String prefix, Boolean hasStateCode,String flag,Map<String, String> map) {        
                if (root == null) return;  
                // 获取属性   
                List<Attribute> attrs = root.attributes();  
                if (attrs != null && attrs.size() > 0) {
                    if(flag.equals(attrs.get(0).getName())){
                        if(hasStateCode){
                            map.put(attrs.get(0).getValue(), attrs.get(1).getValue());
                        }else {
                            map.put(attrs.get(0).getValue(), attrs.get(0).getValue());
                        }
                    }                            
                }  
                // 获取他的子节点   
                List<Element> childNodes = root.elements();  
                prefix += "\t";  
                for (Element e : childNodes) {  
                    readNodeMap(e, prefix,hasStateCode,flag,map);  
                }  
            }
         /***
          * 获取文件路径
          * @return
          */
          //跟下 通过什么获取到路径的
         private static String getPath() {            
         //Class.getResource("/") 返回的是classpath的位置
    
         //(FileTest.class.getResource("/")); // Class文件所在路径


         

            String rootPath = MaintainUtil.class.getResource("/").getPath() + "templates";
            String fileName = "";
            rootPath = rootPath.substring(1, rootPath.length());
            File file = new File(rootPath);
    
            // 2、获取该文件下所有文件 只获取文件名以xml结尾的文件

           

            if (file.exists()) {
                String[] filelist = file.list(new FilenameFilter() {
                    @Override
                    public boolean accept(File dir, String name) {
                        return name.endsWith("xml");
                    }
                });
                for (String obj : filelist) {
                    if ("maintainCode.xml".equals(obj)) {
                        fileName = obj;
                    }
                }
            }
            return rootPath + "/" + fileName;
        }
    }


    展开全文
  • Java的Xml配置文件(新手) Java的Xml配置文件,本文是转发转发转发!重要的事情说三遍 一:概念 1、XML Extensible markup Language可拓展标记语言 2、功能:存储数据(配置文件,...

    Java中的Xml配置文件(新手)

     

    Java中的Xml配置文件,本文是转发转发转发!重要的事情说三遍

     


    一:概念


     

    1、XML  Extensible markup Language 可拓展标记语言

    2、功能:存储数据(配置文件,在网络中传输数据)

    3、html和xml的区别

      3、1xml标记全是自定义的

      3、2xml的语法严格

      3、3xml是存储数据  html是展示数据

     


    二:语法格式


     

    1、文档的后缀名为 .xml

    2、第一行必须是定义的文档声明

    3、xml文档中有且只有一个跟标签

    4、属性值必须用引号

    5、标签必须关闭

    6、xml标签名称区别大小写

    7、约束:规定xml文档书写规则

      约束分类(DTD和Schema)


    三:解析


     

    操作xml文档,将文档中的数据读取到内存中

    1、操作xml文档

      读取,将文档中的内容读取到内存中。

      写入,将内存中的内容保存到xml文档中,持久化存储  

    2、解析方式

      2、1dom将标记语言一次性加载进内存,在内存中形成一颗DOM树。优点:操作简单,可以进行CRUD操作。缺点:消耗内存。

      2、2sax逐行读取,基于事件驱动,不占内存,只能读不能增删改

    3、常见解析器

      3、1、JAXP sun公司解析器,支持dom和sax两种思想解析接口,同时还支持XSLT接口用来将xml文档进行数据和文档转换。

      3、2DOM4J

      3、3Jsoup 它提供了一套非常省力的API直接解析URL地址,html文本内容。可通过DOM,css以及jQuery的操作方法来取出和操作数据。

      3.4Pull  Android操作系统内置的解析器,sax方式。

    4、Jsoup入门程序

      1、导包

      2、获得Document对象

      3、获取对应的标签Element

      4、获取数据

    5、对象的使用

      1、 Jsoup工具类可以解析xml文档,返回Document对象

        parse解析文档

      2、获取对应的标签Element

      3、获取数据

     


    实例:


     

     1 package jsoup;
     2  
     3 import org.jsoup.Jsoup;
     4 import org.jsoup.nodes.Document;
     5 import org.jsoup.nodes.Element;
     6 import org.jsoup.select.Elements;
     7 
     8 import java.io.File;
     9 import java.io.IOException;
    10 public class Demo1Jsoup {
    11      public static void main(String[] args) throws IOException {
    12  //        2获得Document 对象
    13          String path = Demo1Jsoup.class.getClassLoader().getResource("st.xml").getPath();
    14          Document document = Jsoup.parse(new File(path), "utf-8");
    15  //        3 获取对应的标签Element
    16          Elements elements = document.getElementsByTag("name");
    17  //        System.out.println(elements);
    18          System.out.println(elements.size());
    19          Element name = elements.get(1);
    20  //        4 获取数据
    21          System.out.println(name);
    22      }
    23 }

     

     

     


    此文为转发,原博文链接:https://home.cnblogs.com/u/yanpingping(可博客园搜索:写代码也要酷酷的)


     

    posted @ 2019-04-10 10:37 浪子。 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • javaxml配置文件异同总结

    千次阅读 热门讨论 2013-07-04 00:45:25
    这里区分了一下java项目中不同类型的xml文件的用途区别。然后重点介绍了web.xml文件中servlet、filter、error、session、application的配置和初始话顺序、参数、声明周期以及对filter、自定义异常的实现。

      java中默认的一个web项目中会有两个xml文件,一个是sys-config.xml,位于src跟目录下;一个是web层的WEB-INF下的web.xml。

      两个配置文件有什么区别?

      故名思议:sys-config.xml用于配置系统中的基本参数,通常将数据库访问这些数据放入到这里。另外,还可以在src目录下,建立一个新的xml文件,用于javaBean的反射。如,新建一个beanConfig.xml文件配合,工厂+配置文件+反射的设计模式解耦。

      web.xml文件则是记录一些application、session、filter、servlet、error等这类的配置。下面是两类配置文件的示例:

    sys-config.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <config>
    	<db-info>
    		<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
    		<url>jdbc:oracle:thin:@localhost:1521:bjpowern</url>
    		<user-name>drp1</user-name>
    		<password>drp1</password>
    	</db-info>
    	
    </config>

    beanConfig.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans>
    	<service-class>
    		<service id="com.bjpowernode.drp.basedata.manager.ItemManager" class="com.bjpowernode.drp.basedata.manager.ItemManagerImpl"/>
    	</service-class>
    	<dao-class>
    		<dao id="com.bjpowernode.drp.basedata.dao.ItemDao" class="com.bjpowernode.drp.basedata.dao.ItemDao4OracleImpl" />	
    	</dao-class>
    </beans>

    web.xml:

    所有的节点都在这里配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
    	xmlns="http://java.sun.com/xml/ns/j2ee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    	.........
    </web-app>
    1、配置servlet:因为涉及到jsp的跳转访问,所以有<servlet-mapping>节点

        <servlet>
    	   <servlet-name>ShowItemUploadServlet</servlet-name>
    	   <servlet-class>com.bjpowernode.drp.basedata.web.ShowItemUploadServlet</servlet-class>
    	</servlet>
    
        <servlet-mapping>
          <servlet-name>ShowItemUploadServlet</servlet-name>
          <url-pattern>/servlet/item/ShowItemUploadServlet</url-pattern>
        </servlet-mapping>
      所有的<servlet>节点的作用是将servlet-name和sevlet-class包装关联;<servlet-mapping>节点的作用是将<servlet-name>和<url-pattern>关联,一个完整的servlet是通过<servlet-name>将<sevlet-class>和<url-pattern>映射。

      <url-pattern>可以设置虚拟路径,比如这里的/servlet/item就是为了给系统划分模块,人为添加的,访问的时候需要与之匹配。

      另外,我们可以在servlet中配置一些参数,在该servlet初始化的时候,来访问这些数据。如,可以这样配置一个带有默认page-size的关于分页的servlet。这个参数的作用范围只限于该servlet。

    	<servlet>
    		<servlet-name>SearchItemServlet</servlet-name>
    		<servlet-class>com.bjpowernode.drp.basedata.web.SearchItemServlet</servlet-class>
    		
    		<init-param>
    			<param-name>page-size</param-name>
    			<param-value>3</param-value>
    		</init-param>
    		
    	</servlet>

      在SearchItemServlet.java中,可以这样来访问:

    int pageSize = Integer.parseInt(this.getServletConfig().getInitParameter("page-size"));
     
      在tomcat启动的时候,能否控制servlet的初始化顺序呢?答案是:通过<load-on-startup>节点。

        <servlet>
    	   <servlet-name>FileUploadServlet</servlet-name>
    	   <servlet-class>com.bjpowernode.drp.basedata.web.FileUploadServlet</servlet-class>
    	   <load-on-startup>10</load-on-startup>
        </servlet>
      这里须是正整数,数值越小,启动顺序越早。

      

    2、filter过滤器的配置:

      一个系统可以有多个filter,他是一个链,按照顺序执行,最后到你请求的资源servlet或jsp。如,配置系统中所有的jsp和servlet统一的编码格式:

    	<filter>
    		<filter-name>CharsetEncodingFilter</filter-name>
    		<filter-class>com.bjpowernode.drp.util.filter.CharsetEncodingFilter</filter-class>
    		<init-param>
    			<param-name>encoding</param-name>
    			<param-value>GBK</param-value>
    		</init-param>		
    	</filter>	
    	<!-- 所有的jsp的编码格式 -->
    	<filter-mapping>
    		<filter-name>CharsetEncodingFilter</filter-name>
    		<url-pattern>*.jsp</url-pattern>
    	</filter-mapping>
    	<!-- 所有servlet的编码格式 -->
    	<filter-mapping>
    		<filter-name>CharsetEncodingFilter</filter-name>
    		<url-pattern>/servlet/*</url-pattern>
    	</filter-mapping>

    CharsetEncodingFilter类对编码格式的实现:

    /**
     * 采用Filter统一处理字符集
     * @author Administrator
     *
     */
    public class CharsetEncodingFilter implements Filter {
    	
    	private String endcoding; 
    	
    	public void destroy() {
    	}
    
    	public void doFilter(ServletRequest request, ServletResponse response,
    			FilterChain chain) throws IOException, ServletException {
    		
    		//System.out.println("CharsetEncodingFilter--->>>begin");
    		//设置字符集
    		request.setCharacterEncoding(endcoding);
    		
    		//继续执行,把请求传递给下一个链
    		chain.doFilter(request, response);
    		
    		//System.out.println("CharsetEncodingFilter--->>>end");
    	}
    
    	public void init(FilterConfig filterConfig) throws ServletException {
    		this.endcoding = filterConfig.getInitParameter("encoding");
    		System.out.println("CharsetEncodingFilter.init()-->> endcoding=" + endcoding);
    	}
    
    }


    3、application变量<context-param>的配置:

    	<context-param>
    		<param-name>page-size</param-name>
    		<param-value>2</param-value>
    	</context-param>

      这里配置的变量是全局变量所有的jsp和servlet都可以访问,相当于application级别。

      对全局变量的访问:

    		//从application范围内取得page-size,application指的是ServletContext对象
    		int pageSize = Integer.parseInt(this.getServletContext().getInitParameter("page-size"));
      针对全局变量的访问和servlet级别的变量的访问方法是一样的。

    4、session的配置:

    	<session-config>
    		<session-timeout>60</session-timeout>
    	</session-config>
      这里配置session的声明周期为60秒。

    5、关于自定义错误类型或404、500错误的配置:

      无论是自定义错误还是404/500这些常见的错误,在tomcat看来都需要在<error-page>中配置,但是自定义错误配置在<exception-type>节点中,404配置在<error-code>节点中。他们都有一个<location>节点,说明错误页指向。

    	<error-page>
    		<exception-type>com.bjpowernode.drp.util.ApplicationException</exception-type>
    		<location>/error.jsp</location>
    	</error-page>
    	
    	<error-page>
    		<error-code>404</error-code>
    		<location>/http_error.jsp</location>
    	</error-page>
    	
    	<error-page>
    		<error-code>500</error-code>
    		<location>/http_error.jsp</location>
    	</error-page>
      关于自定义异常ApplicationException的实现,只需要继承一下RuntimeException即可,然后在使用的时候,直接多种重载都可以直接使用。

    ApplicationException定义:

    public class ApplicationException extends RuntimeException {
    
    	public ApplicationException() {
    		
    	}
    
    	public ApplicationException(String message) {
    		super(message);
    		
    	}
    
    	public ApplicationException(Throwable cause) {
    		super(cause);
    		
    	}
    
    	public ApplicationException(String message, Throwable cause) {
    		super(message, cause);
    		
    	}
    
    }

    使用:

    throw new ApplicationException("删除物料失败!");


    总结:

      这里区分了一下java项目中不同类型的xml文件的用途区别。然后重点介绍了web.xml文件中servlet、filter、error、session、application的配置和初始话顺序、参数、声明周期以及对filter、自定义异常的实现。

      另外,java解析xml文件,尤其是对xml文件的读取是一项重要的基本功,有现成的若干组件,上篇博客中介绍了使用dom4j解析的实现,这里不再赘述。

    展开全文
  • JAVA读取XML配置文件

    2011-07-29 10:09:32
    把数据库备份时需要一些参数写到XML中package com; import org.w3c.dom.*;import javax.xml.parsers.*;import java.io.*;public class Parse{ //Document可以看作是XML在内存中
  • Java XML配置文件的dom和sax解析

    万次阅读 2014-05-15 17:58:13
    利用第三方jar包解析配置文件 使用jar包commons-digester.jar中...用一个XML文件定义Java对象状态(数据源文件)action 配置文件mystruts.xml,用另一个XML文件定义装载数据源文件装载逻辑规则文件rule.x
  • JAVA读取数据库的XML配置文件.

    千次阅读 2019-02-22 11:13:11
    [原创]JAVA读取数据库的XML配置文件. 前言.虽然现在有HEIBERNATE开源结构做为持久层,可以很好的解决这个问题. 当然,SSH这些开源结构,也必并非人人都得学去用.我个人就喜欢自已写几个常用的类在开发时可以多次使用.....
  • Idea中找不到Java Application 的xml配置文件问题研究   问题: 在用Idea建立一个Java Application工程的时候,应用了Spring框架,可是Spring的xml配置文件找不到。检查表明不是代码的问题。费了我好长...
  • Java Web工程中web.xml配置文件

    千次阅读 2018-12-18 08:57:01
    Java Web工程中web.xml配置文件 前言 1. xml文件 xml文件:Extentsible Markup Language即可扩展标记语言,是用来定义其它语言一种元语言,其前身是SGML(标准通用标记语言)。xml文件是互联网数据传输重要...
  • java读取xml和property配置文件的方法

    千次阅读 2017-06-14 11:46:05
    在软件开发过程中,有很多时候会有配置项设置,通常配置...XML配置文件解析-DOM有以下配置文件config.xml,里面配置了不同系统参数,类似于key-value形式。<?xml version = "1.0" encoding="UTF-8"?> <config ke
  • java读取xml配置文件(小结)

    千次阅读 2009-04-29 07:42:00
    使用DOM解析XML文档时,需要读入整个XML文档,然后在内存中创建DOM树,生成DOM树上每个节点对象。只有在整个DOM树创建完毕后,我们才能做其他操作,即使我们只需要修改根元素节点第二个子节点,仍然需要在进行...
  • 总结:通过xml配置文件引用@Configuration配置方法如下: 标注了@Configureation配置类本身相当于一个标注了@Componet类,一样也是一个bean,它可以被Spring&lt;context:component-scan&gt;扫描到...
  • 常用开发中我们经常需要解析xml配置文件,所以在这里总结一下xml解析几种方式。 什么是JAXP JAXP(Java API for XMLProcessing,意为XML处理的Java API)是Java XML程序设计应用程序接口之一,它提供解析和...
  • 在使用Spring开发时,我们经常会看到各种各样xml配置,过于繁多的xml配置显得复杂烦人。在Spring3之后,Spring支持使用JavaConfig来代替xml配置,这种方式也得到越来越多人的推荐,甚至在Spring Boot的项目中,基本...
  • 1. 本帖内容 在用java作开发时,一般会选择使用xml文件作为配置文件,故而通过java工程读取配置文件则是必须掌握知识;传统C/C++通过File文件方式或者说通过流方式进行读写,过分浪费内存与效率,且读写...
  • 介绍:springMVC 常用配置方式是在web.xml 中配置dispatcherservlet 和 ContextConfigLocation 和一些拦截器,然后或是配置applicationContext-mvc.xml 然后在...在servlet3.0 标准中就没有web.xml 配置文件了,spri...
  • java web.xml配置文件中url-pattern路径匹配方式 url-pattern元素用于匹配对应Servlet或Filter。使用事例如下: dispatcherServlet org.springframework.web.servlet.DispatcherServlet ...
  • 使用mybatis配置文件xml形式时,需要在springboot配置文件application中配置xml路径。 如果xml文件,不想放到resources下,而是直接放到 src/main/java 下与mapper放到一块, 需要额外配置。下图目录结构: ...
  • XML配置文件的编写与解析

    万次阅读 2018-01-08 11:53:55
    xml配置文件的编写 xml文档实例 什么是 XML XML 用途 XML 树结构 XML 语法规则 什么是 XML 元素 元素命名规则 最佳命名习惯 XML 属性 xml配置文件的解析 xml配置文件的编写 xml文档实例 book> ...
  • Java游戏服务器开发之二十--xml配置文件  游戏中使用配置文件很多  像游戏中关卡,英雄等级,装备之类都是使用配置文件(xml等)  比如有一个装备,配置表中有一条记录,数据库只需要存储这条记录id,具体...
  • java xml作为配置文件,读取

    千次阅读 2008-07-23 14:53:00
    每个项目都需要配置文件来把可变东西抽出来,方便程序开发和维护: 自己编写了一个xml文件读取类,并可以以字符串形式调用xml文件中属性与其值,其实也可以,直接一个static函数直接获得属性与其...
  • 利用java反射读取xml配置文件

    千次阅读 2013-08-23 20:21:03
    转载自:...  一、利用java反射机制创建类实例分为两种情况:  1、不带参数 Class c = Class.forName("className");//返回与带有给定字符串名类 或接口相关联 Class 对象。 Object obj
  • 在整合Spring + Mybatis框架时候,自动扫描配置都已经配置好了。 配置如下: beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
  • SpringMVC的java配置+xml配置

    千次阅读 2018-03-10 09:43:56
    javaConfig配置SpringMVC 环境为JDK1.8+tomact8 在web3.0以前我们开发web项目都需要在web.xml中配置...web程序员从繁琐的xml文件配置中解脱出来。springMVC也提供也javaConfig的配置, 1.web.xml 必须为3.0 2....
  • Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件 //推荐使用此方法 String path = getClass().getClassLoader().getResource("friend.xml").getPath(); //生成一个文件对象: File...
  • 参考文档: https://blog.csdn.net/qq_39940205/article/details/80517244 方法一:在编译插件位置,写上包含的除了类之外的xml文件 方法二: 将所有的xml文件全部放到src/main/resource下 ...
  • setting.properties中的配置(此文件在src-main-resources-settings.properties) ​ mybatis作用:是数据库jdbc框架,进行一些mybatis的配置配置事务管理器:Spring并不直接管理事务,而是提供了多...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,643
精华内容 12,657
热门标签
关键字:

java的xml配置文件

java 订阅