Manuel en ligne YMP
/ 示例一:解析XML配置
示例一:解析XML配置
基于XML文件的基礎(chǔ)配置格式如下, 為了配合測試代碼, 請將該文件命名為configuration.xml并放置在
config_home
路徑下的cfgs目錄里:<?xml version="1.0" encoding="UTF-8"?> <!-- XML根節(jié)點為properties --> <properties> <!-- 分類節(jié)點為category, 默認分類名稱為default --> <category name="default"> <!-- 屬性標(biāo)簽為property, name代表屬性名稱, value代表屬性值(也可以用property標(biāo)簽包裹) --> <property name="company_name" value="Apple Inc."/> <!-- 用屬性標(biāo)簽表示一個數(shù)組或集合數(shù)據(jù)類型的方法 --> <property name="products"> <!-- 集合元素必須用value標(biāo)簽包裹, 且value標(biāo)簽不要包括任何擴展屬性 --> <value>iphone</value> <value>ipad</value> <value>imac</value> <value>itouch</value> </property> <!-- 用屬性標(biāo)簽表示一個MAP數(shù)據(jù)類型的方法, abc代表擴展屬性key, xyz代表擴展屬性值, 擴展屬性與item將被合并處理 --> <property name="product_spec" abc="xzy"> <!-- MAP元素用item標(biāo)簽包裹, 且item標(biāo)簽必須包含name擴展屬性(其它擴展屬性將被忽略), 元素值由item標(biāo)簽包裹 --> <item name="color">red</item> <item name="weight">120g</item> <item name="size">small</item> <item name="age">2015</item> </property> </category> </properties>
新建配置類DemoConfig, 通過
@Configuration
注解指定配置文件相對路徑@Configuration("cfgs/configuration.xml") public class DemoConfig extends DefaultConfiguration { }
測試代碼, 完成模塊初始化并加載配置文件內(nèi)容:
public static void main(String[] args) throws Exception { YMP.get().init(); try { DemoConfig _cfg = new DemoConfig(); if (Cfgs.get().fillCfg(_cfg)) { System.out.println(_cfg.getString("company_name")); System.out.println(_cfg.getMap("product_spec")); System.out.println(_cfg.getList("products")); } } finally { YMP.get().destroy(); } }
執(zhí)行結(jié)果:
Apple Inc. {abc=xzy, color=red, size=small, weight=120g, age=2015} [itouch, imac, ipad, iphone]