程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 給JavaBeans 增加XPath功能

給JavaBeans 增加XPath功能

編輯:JAVA編程入門知識

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 


  向一個JavaBean請求'addressbook[1].state.code'是現在還在使用的和JavaBeans 進行交互的一個通常的方法,但是你現在可以更進一步使用功能更強大的XPath規范。
  
  創建XPath的目的是訪問和修改XML中的數據,但是Apache Jakarta的一個新項目答應你將強大的XPath規范的功能應用到普通的JavaBeans上。
  
  作為一個例子,我們使用具有下面的結構的JavaBean :
  
  Person.name 是一個字符串 String
  Person.age 是一個整數
  Person.birthtown 是一個Town對象
  Person.address 是一個Address 對象的數組
  Town.name 是一個字符串
  Address.number 是一個字符串
  Address.street 是一個字符串
  Address.town 是一個Town對象
  
  (為了簡單沒有提供源代碼)
  
  對於給定的Person對象,你可以使用"name"得到對象的名字,你可以使用"birthtown/name"得到出身地的名字,你也可以使用"address[number='21']/town/name"得到和地址(例如21)關聯的城鎮的名字。
  
  除了更強大以外,XPath 和通常的bean符號的主要不同是使用反斜線('/')而不是句點('.')分隔元素,一旦你習慣這個特征就都會變得很簡單。
  
  下面的代碼展示了使用JXPath 將XPath 符號應用到我們的JavaBean 結構是多麼的簡單:
  
  import org.apache.commons.jxpath.JXPathContext;
  ....
  Person person = ....;
  JXPathContext context = JXPathContext.newContext(person);
  System.out.println(context.getValue("name"));
  System.out.println(context.getValue("age"));
  System.out.println(context.getValue("birthtown/name"));
  System.out.println(context.getValue("address[number='21']/street"));
  System.out.println(context.getValue("address[number='21']/town/name"));
  ....
  XPath可以用於設置值或者創建beans,當然也可以讀取值,關於XPath和它的JXPath的實現的更多信息請參考JXPath站點 。


 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved