国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

給JavaBeans增加XPath功能

2019-11-18 13:53:53
字體:
供稿:網(wǎng)友

向一個(gè)javaBean請(qǐng)求´addressbook[1].state.code´ 是現(xiàn)在還在使用的和JavaBeans 進(jìn)行交互的一個(gè)通常的方法,但是你現(xiàn)在可以更進(jìn)一步使用功能更強(qiáng)大的XPath規(guī)范。

創(chuàng)建XPath的目的是訪問和修改xml中的數(shù)據(jù),但是Apache Jakarta的一個(gè)新項(xiàng)目答應(yīng)你將強(qiáng)大的XPath規(guī)范的功能應(yīng)用到普通的JavaBeans上。

作為一個(gè)例子,我們使用具有下面的結(jié)構(gòu)的JavaBean :

Person.name 是一個(gè)字符串 String

Person.age 是一個(gè)整數(shù)

Person.birthtown 是一個(gè)Town對(duì)象

Person.address 是一個(gè)Address 對(duì)象的數(shù)組

Town.name 是一個(gè)字符串

Address.number 是一個(gè)字符串

Address.street 是一個(gè)字符串

Address.town 是一個(gè)Town對(duì)象

(為了簡(jiǎn)單沒有提供源代碼)

對(duì)于給定的Person對(duì)象,你可以使用"name"得到對(duì)象的名字,你可以使用"birthtown/name"得到出身地的名字,你也可以使用"address[number=´21´]/town/name"得到和地址(例如21)關(guān)聯(lián)的城鎮(zhèn)的名字。

除了更強(qiáng)大以外,XPath 和通常的bean符號(hào)的主要不同是使用反斜線(´/´)而不是句點(diǎn)(´.´)分隔元素,一旦你習(xí)慣這個(gè)特征就都會(huì)變得很簡(jiǎn)單。

下面的代碼展示了使用JXPath 將XPath 符號(hào)應(yīng)用到我們的JavaBean 結(jié)構(gòu)是多么的簡(jiǎn)單:

import org.apache.commons.jxpath.JXPathContext;

....

Person person = ....;

JXPathContext context = JXPathContext.newContext(person);

System.out.
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可以用于設(shè)置值或者創(chuàng)建beans,當(dāng)然也可以讀取值,關(guān)于XPath和它的JXPath的實(shí)現(xiàn)的更多信息請(qǐng)參考JXPath(http://cl.com.com/Click?q=07-HqWzI5r6thQfumBcRgUiQzxyYbfy)站點(diǎn) 。 

注:本文是為ZDNet翻譯的系列文章之一,原文已經(jīng)發(fā)表在ZDNet網(wǎng)站



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 会理县| 巫山县| 淮阳县| 鸡泽县| 高平市| 宜宾市| 江都市| 崇礼县| 泰和县| 梁河县| 临洮县| 昌宁县| 乌鲁木齐县| 兴义市| 来凤县| 定州市| 彭山县| 辽中县| 临安市| 江孜县| 南丰县| 阳西县| 正蓝旗| 泉州市| 万荣县| 木兰县| 黄梅县| 淳化县| 山阳县| 中阳县| 临西县| 张北县| 黄龙县| 楚雄市| 竹溪县| 阜城县| 株洲县| 巫山县| 遵义市| 泸水县| 固原市|