通過屬性字元格式來訪問GPath格式的Xml

2021-08-29 13:14:55 字數 825 閱讀 6525

gpath方式的xml訪問,為我們的xml處理提供了極大的靈活性和簡單性,這都要歸功於groovy的簡潔和強大,在此就不羅嗦了。

可是如果xml的tag處理,你不想在你的**裡邊寫死,而是希望通過配置檔案來靈活定製呢,讓我們還是以例項來說話吧

我有乙個xml,如下:

aaa1content

aaa2content

如果我要處理aaa2的c屬性,那我需要這樣的表示式:root.aa.aaa2.@c來得到這個xml元素,當然了,這麼簡單的用法誰都知道,可是如果我的標籤並不想這樣寫死**裡邊,我想靈活的定製,比如我以後新的xml有aaaa.@c這樣的元素呢?顯然通過:root."aa.aaa2.aaaa」.@c的方式並不成功,因為gpath將"aa.aaa2.aaaa」看作是乙個標籤,而不是3個父子關係的標籤。

其實解決辦法有好多,你可以用find閉包方法,而我目前覺得用迴圈的方式更簡單,我的全部**如下:

def xml = """

aaa1content

aaa2content

"""def root = new xmlslurper().parsetext(xml)

def aa = "aa.aaa2"

def v=root

aa.split("\\.").each

assert "aaa2content"==v.text()

assert "attrc"[email protected]()

如果對groovy有任何疑問,請來:[url=中文社群[/url]

力扣打不開,通過修改hosts檔案來訪問

最近幾天我登入老是顯示網路連線失敗 重新整理多次才偶爾能開啟,訪問別的 都沒有問題 什麼是hosts檔案?hosts是乙個沒有副檔名的系統檔案,其基本作用就是將一些常用的 網域名稱與其對應的ip位址建立乙個關聯 資料庫 當使用者在瀏覽器中輸入乙個需要登入的 時,系統會首先自動從hosts檔案中尋找對...

C 箴言之用屬性來訪問類的私有成員

在程式中,難免要訪問某個物件的私有成員。那麼以前實現這類功能的方法有兩種,第一種方法最簡單,就是把成員訪問符從 private 改為 public 即可 而另乙個就是提供公有的成員訪問函式來進行訪問。那麼現在用c 編寫程式,就不再需要採用前面所說的兩種方法了,而直接使用屬性來完成。首先來看看三種方法...

使用表示式樹和反射來訪問物件屬性的效能比較

今天在工作上遇到這麼個需求 需要獲取物件上所有屬性的值,但並事先並不知道物件的型別。我的第一反應就是使用反射,但是這個操作會進行多次,大量的反射肯定會有效能影響。雖然對我這個專案無關緊要,但我還是選擇了另外一種解決方案 構建表示式樹,再生成委託,然後將委託快取在字典裡。如下 首先構建表示式樹 類似這...