java讀取xml

來源:互聯網
上載者:User

1、這是我定義的xml,test.xml

<PathDefines>
 <PathDefine name="***" paperType="P">
  <printType name="test1"  url="/paper-print.jsp" printModeId="1"></printType>
  <printType name="test2"  url="/paper-print0.jsp" printModeId="2"></printType>
 </PathDefine>

</PathDefines>

2、為了擷取xml中的url,寫的類如下:

public class Test{
 
 public Test(){
  
 }
 
 /**
  * 根據傳入的參數,找到對應的url並返回
  * @param paperType單據類型
  * @param parameterId 列印型別參數
  * return  返回當前路徑
  */
 public String getPageUrl(String paperType,String printModeId){
  
  try{
   ClassLoader cl=Thread.currentThread().getContextClassLoader();
   SAXReader reader=new SAXReader();
   Document document=reader.read(cl.getResourceAsStream("test.xml"));
   Iterator iter=document.selectNodes("/PathDefines/PathDefine[@paperType='"+paperType+"']/printType[@printModeId='"+printModeId+"']").iterator();
   String result="";
   if (iter.hasNext())
    result=((Element)iter.next()).attributeValue("url");
   return result;
  }catch(Exception e){
   System.out.println(e);
   e.printStackTrace();
   return "";
  }

public static void main(String[] args){
  PrintPath printPath=new PrintPath();
  String url=printPath.getPageUrl("P", "1");
  System.out.println(url);
 }

 }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.