<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans> <!-- RAQ模式总体 -->
<bean id="raq" class="com.baosight.baosteel.common.document.model.base.ProjectMethod">
<property name="functionList">
<!-- 类 -->
<list>
<ref local="raq.requestQuery2.initManage"/>
<ref local="raq.requestTemplate.createRequest"/>
</list>
</property>
</bean>

<!-- 功能模块 -->
<!-- 采购组织查询 -->
<bean id="raq.requestQuery2.initManage" class="com.baosight.baosteel.common.document.model.base.DocFunction">
<property name="memo" value="核价竞价管理主界面"></property>
<property name="webUrl" value="/eps_rfq/request2/requestQuery2.do?method=initManage"/>
<property name="inputList">
<list>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="询价单号"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="ouRfqNum"/>
<constructor-arg value="searchModel.queMap(p*ouRfqNum)字段收集"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="标题"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="title"/>
<constructor-arg value="searchModel.queMap(p*title)字段收集"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="创建人"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="recCreatorUsername"/>
<constructor-arg value="searchModel.queMap(p*recCreatorUsername)字段收集"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="状态"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="type"/>
<constructor-arg value="searchModel.queMap(p*type)字段收集"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="计划编号"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="planNo"/>
<constructor-arg value="searchModel.queMap(p*planNo)字段收集"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<!-- 有两个相同的文本框 -->
<constructor-arg value="创建时间"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="recCreateTime"/>
<constructor-arg value="searchModel.queMap(ntcdate:p*recCreateTime)字段收集"/>
</bean>
</list>
</property>
<property name="outputList">
<list>
<bean class="com.baosight.baosteel.common.document.model.base.DocOutput">
<constructor-arg value="询价单列表"/>
<constructor-arg value="com.utils.List"/>
<constructor-arg value=""/>
<constructor-arg value=""/>
<property name="docPutList">
<list>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="询价单号"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="ouRfqNum"/>
<constructor-arg value="系统生成的单据号"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="标题"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="title"/>
<constructor-arg value=""/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="计划编号"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="planNo"/>
<constructor-arg value=""/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="创建人"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="recCreatorUsername"/>
<constructor-arg value=""/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="创建时间"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="recCreateTime"/>
<constructor-arg value=""/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocInput">
<constructor-arg value="状态"/>
<constructor-arg value="com.baosight.baosteel.eps.rfq.business.model.RfqRequest"/>
<constructor-arg value="type"/>
<constructor-arg value=""/>
</bean>
</list>
</property>
</bean>
</list>
</property>
<property name="linkedList">
<list>
<bean class="com.baosight.baosteel.common.document.model.base.DocLinked">
<constructor-arg value="0"/>
<constructor-arg value="raq.requestTemplate.createRequest"/>
<constructor-arg value="新增按钮"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocLinked">
<constructor-arg value="1"/>
<constructor-arg value="raq.requestTemplate.showRequest"/>
<constructor-arg value="查询按钮"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocLinked">
<constructor-arg value="2"/>
<constructor-arg value="raq.editRequest.initRequest"/>
<constructor-arg value="操作按钮"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocLinked">
<constructor-arg value="0"/>
<constructor-arg value="raq.manage.listDetai"/>
<constructor-arg value="查看日志"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocLinked">
<constructor-arg value="0"/>
<constructor-arg value="raq.requestInfo.initRequest"/>
<constructor-arg value="询价单号连接"/>
</bean>
</list>
</property>
</bean> <!-- 新增 -->
<bean id="raq.requestTemplate.createRequest" class="com.baosight.baosteel.common.document.model.base.DocFunction">
<property name="memo" value="核价竞价管理新增,手工创建询价单,根据历史询单拷贝复用"></property>
<property name="webUrl" value="/eps_rfq/request2/requestTemplate.do?method=createRequest"/>
<property name="linkedList">
<list>
<bean class="com.baosight.baosteel.common.document.model.base.DocLinked">
<constructor-arg value="0"/>
<constructor-arg value="raq.editRequest.newRequest"/>
<constructor-arg value="重新创建"/>
</bean>
<bean class="com.baosight.baosteel.common.document.model.base.DocLinked">
<constructor-arg value="0"/>
<constructor-arg value="raq.requestTemplate.requestHistory"/>
<constructor-arg value="历史询单复制"/>
</bean>
</list>
</property>
</bean></beans>

解决方案 »

  1.   

    随便用一个解析器就可以了,JDom,Dom4j....
      

  2.   

    JDom很easy的~看一段demo就知道了
      

  3.   

    bean.xml为你的xml文档 放在src下,你想得到任意一个值。
    public class DomXmlParser
    {
       public void parserXML(String path)
       {
           ClassLoader classloader=DomXmlParser.class.getClassLoader();
           try
           {
            Enumeration<URL> L_urls=classloader.getResources(path);
            DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
            DocumentBuilder builder=builderFactory.newDocumentBuilder();
            while(L_urls.hasMoreElements())
            {
                URL url=L_urls.nextElement();
                builder.reset();
                InputStream is=url.openStream();
                Document document= builder.parse(is);
                is.close();
                NodeList l_nodes=document.getElementsByTagName("bean");
                for(int i=0;i<l_nodes.getLength();i++)
                {
                    checkChild(l_nodes.item(i));
                }
            }
           }
           catch (IOException e)
           {
            e.printStackTrace();
           } 
           catch(Exception ex)
           {
               ex.printStackTrace();
           }
          
       }
       public void checkChild(Node parent)
       {
           if(parent!=null&&!parent.getNodeName().startsWith("#text")&&!parent.getNodeName().startsWith("#comment"))
           {
               System.out.println(parent.getNodeName());
               NamedNodeMap attrMap=parent.getAttributes();
               for(int j=0;j<attrMap.getLength();j++)
               {
                   if(!attrMap.item(j).getNodeValue().endsWith("default"))
                   {
                   System.out.println(attrMap.item(j).getNodeName()+":"+attrMap.item(j).getNodeValue());
                   }
               }
               NodeList childList=parent.getChildNodes();
              if(childList.getLength()>0)
              {
                   for(int i=0;i<childList.getLength();i++)
                   {
                       checkChild(childList.item(i));
                   }
              }
           }
       }
       public static void main(String[] args)
       {
           DomXmlParser parser=new DomXmlParser();
           parser.parserXML("bean.xml");
       }
    }