亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > EMF的存儲設置

EMF的存儲設置
2010-01-14 22:49:41  作者:  來源:
一般我們在對EMF模型內容進行輸出,這里需要進行一些定制,下面是我在項目中做的一些定制,第一個是要將EMF Model輸出的xml中去掉一些名稱空間的信息,第二個就是希望把某些信息由Attribute類型轉換成Content類型,在得到的content類型的內容默認情況下會對<, >, &等字符進行轉換,這個也可以進行控制。借鑒EMF開發指南的做法,其實很簡單,這里要注意save和load使用的控制選項設置必須一致。
具體做法如下,
因為保存和加載xml是在XMLResourceImpl里面進行的,所以我們需要從該類繼承,overriding 相應的load和save方法,然后在使用到XMLResourceImpl的地方改成使用我們的派生之類,在定制的子類中,我們做了如下實現:
java 代碼
 
  1. public void load(Map options) throws IOException {   
  2.     super.load(addOptions(options));   
  3. }   
  4.   
  5. public void save(Map options) throws IOException {   
  6.     super.save(addOptions(options));   
  7. }   
  8.   
  9. /**  
  10.  * 設置序列化/反序列化選項  
  11.  *   
  12.  * @param options  
  13.  */  
  14. private Map addOptions(Map options) {   
  15.     // 這里的map只應創建一次   
  16.     XMLResource.XMLMap xmlMap = new XMLMapImpl();   
  17.   
  18.     EPackage ePackage = Configuration.INSTANCE.getViewEPackage();   
  19.     XMLResource.XMLInfo info = new XMLInfoImpl();   
  20.     info.setXMLRepresentation(XMLResource.XMLInfo.CONTENT);   
  21.   
  22.     // 將event的內容在attribute和content之間轉換   
  23.     EClass eClass = (EClass) ePackage   
  24.             .getEClassifier(Configuration.EVENT_NAME);   
  25.     xmlMap.add(eClass   
  26.             .getEStructuralFeature(Configuration.EVENT_ATTRIBUTE_CONTENT),   
  27.             info);   
  28.   
  29.     // 在生成的ddxml中去掉namespace聲明   
  30.     xmlMap.setNoNamespacePackage(ePackage);   
  31.   
  32.     if (options == Collections.EMPTY_MAP) {   
  33.         options = new HashMap();   
  34.     }   
  35.        
  36.     options.put(XMLResource.OPTION_XML_MAP, xmlMap);   
  37.        
  38.     // 避免對<,>,&等字符進行轉換   
  39.     options.put(XMLResource.OPTION_SKIP_ESCAPE, Boolean.TRUE);   
  40.   
  41.     return options;   
  42. }  

 

因為我們這里沒有對特殊字符進行轉換,所以我們需要在生成的content類型的內容加上<![CDATA, ]]>, 這個我們需要生成自己的XMLSaveImpl,然后overriding getContent(EObject o, EStructuralFeature[] features)這個方法:

java 代碼
 
  1. protected String getContent(EObject o, EStructuralFeature[] features) {   
  2.     if (map == null)   
  3.     {   
  4.       return null;   
  5.     }   
  6.   
  7.     for (int i = 0; i < features.length; i++)   
  8.     {   
  9.       EStructuralFeature feature = features[i];   
  10.       XMLResource.XMLInfo info = map.getInfo(feature);   
  11.       if (info != null && info.getXMLRepresentation() == XMLResource.XMLInfo.CONTENT)   
  12.       {   
  13.         Object value = helper.getValue(o, feature);   
  14.         String svalue = getDatatypeValue(value, feature, false);   
  15.         if (toDOM)   
  16.         {               
  17.           Node text = document.createTextNode(svalue);   
  18.           currentNode.appendChild(text);   
  19.           handler.recordValues(text, o, feature, value);   
  20.         }else {   
  21.             // 將內容前后加上<![CDATA and ]]>   
  22.             svalue = "<![CDATA[\n" +svalue + "\n]]>";   
  23.         }   
  24.         return svalue;   
  25.       }   
  26.     }   
  27.     return null;   
  28. }   

 當然了還必須在前面自己的XMLResourceImpl類里面重載createXMLSave()方法:

 

 

java 代碼
 
  1. protected XMLSave createXMLSave() {   
  2.     return new DoradoXMLSaveImpl(createXMLHelper());   
  3. }  

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
相關熱詞搜索:存儲
亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区
久久久久北条麻妃免费看| 欧美在线视频a| 精品国产网站地址| 永久久久久久| 欧洲亚洲在线视频| 国产免费亚洲高清| 久久精品国产96久久久香蕉| 亚洲一区高清| 青青影院一区二区三区四区| 91精品国产高清自在线看超| 亚洲一区二区高清视频| 欧美日韩精品免费观看视一区二区| 欧美日韩精品一区| www.美女亚洲精品| 欧美在线亚洲一区| 色琪琪综合男人的天堂aⅴ视频| 日韩一区国产在线观看| 91国产在线免费观看| 亚洲免费av网| 久久久福利视频| 日本免费成人网| 日韩视频一区在线| 欧美做受777cos| 国产成人无码av在线播放dvd| 日韩女在线观看| 久久久久久久久久伊人| 日本欧美黄网站| 久艹在线免费观看| 欧美日韩第二页| 国产精品久久久久久久app| 免费99视频| 欧美精品久久久久久久免费观看| 产国精品偷在线| 亚洲精品第一区二区三区| 91免费国产网站| 日韩.欧美.亚洲| 俺去亚洲欧洲欧美日韩| 欧美大陆一区二区| 国产精品美女久久久久久免费| 韩日欧美一区二区| 一区二区三区三区在线| 91精品久久久久久久久久| 日韩亚洲一区在线播放| 国产精品美女主播在线观看纯欲| 极品美女扒开粉嫩小泬| 欧美精品www在线观看| 91麻豆蜜桃| 青青草国产精品| 精品国产一区二区三区在线| 成人a视频在线观看| 日韩av电影在线播放| 久久精品国产亚洲一区二区| 国产在线视频一区| 久久99久久99精品免观看粉嫩 | 成人精品视频久久久久| 欧美高清性xxxxhdvideosex| 久久久久这里只有精品| 日韩欧美一级在线| 国产精品福利网| 国产精品直播网红| 亚洲乱码日产精品bd在线观看| 国产v综合ⅴ日韩v欧美大片| 欧美第一黄网| 亚洲午夜激情| 日韩三级成人av网| 国产免费一区二区三区| 久久久久久国产精品三级玉女聊斋| 91国产精品91| 欧美极品视频一区二区三区| 真实国产乱子伦对白视频| 久久国产欧美精品| 国产在线视频欧美| 亚州av一区二区| 国产精品视频内| 91av在线不卡| 黄在线观看网站| 午夜免费日韩视频| 国产精品毛片一区视频| 91精品久久久久久久久| 欧美激情精品久久久久久小说| 在线观看成人av| 日韩专区中文字幕| 99久久99久久精品国产片| 欧美日韩精品综合| 亚洲国产日韩美| 久久综合五月天| 久久久久久综合网天天| www国产免费| 狠狠色伊人亚洲综合网站色| 亚洲v国产v| 久久99久久99精品中文字幕| 北条麻妃99精品青青久久| 97色伦亚洲国产| 蜜桃视频在线观看91| 日本一区视频在线| 欧美精品久久久久久久久| 九色一区二区| 91久久中文字幕| 国产欧美日韩精品在线观看| 欧美性在线视频| 午夜精品久久久久久久无码| 九九久久国产精品| 国产精品视频自在线| 久久全球大尺度高清视频| 国产欧美一区二区白浆黑人| 欧美日韩无遮挡| 日韩精品大片| 日本不卡一区二区三区四区| 亚洲xxxx视频| 一区二区成人国产精品| 不卡av电影院| 国产精品视频网站| 日韩天堂在线视频| 久久久久国产精品视频| 91精品91久久久久久| 97免费在线视频| 风间由美久久久| 国产日本在线播放| 国产欧美一区二区三区在线| 国产原创中文在线观看| 欧美高清一区二区| 欧美影视一区二区| 青青草视频国产| 欧美中日韩在线| 欧美日韩在线高清| 国内视频一区二区| 欧美福利一区二区三区| 欧美性视频在线| 欧美日韩精品免费观看| 欧美又大粗又爽又黄大片视频| 日本www高清视频| 人妻精品无码一区二区三区| 日韩一二三区不卡在线视频| 日本免费一区二区三区视频观看| 欧美一区二区三区在线免费观看| 亚洲精品视频一二三| 亚洲永久免费观看| 亚洲啪啪av| 亚州成人av在线| 日韩.欧美.亚洲| 欧美影视一区二区| 欧美人成在线观看| 免费在线观看亚洲视频| 欧美精品久久久久久久自慰| 霍思燕三级露全乳照| 国产色综合天天综合网| 国产免费一区二区三区在线能观看| 国产欧美最新羞羞视频在线观看| 国产女同一区二区| 99热在线播放| 久久综合久久色| 日韩少妇与小伙激情| 国产精品热视频| 蜜月aⅴ免费一区二区三区| 亚洲视频在线二区| 日本www在线播放| 欧美久久久久久久久久久久久 | 91九色丨porny丨国产jk| 国产精品69久久| 日韩一区二区在线视频| 国产精品久久久久久久久久小说 | 久久久久国产精品免费网站| 日韩一区二区三区高清| 欧美在线视频一区| 国产毛片久久久久久国产毛片| 91精品久久久久久| 国产精品视频导航| 久久99久久99精品中文字幕| 性欧美长视频免费观看不卡| 欧美日韩一区二区视频在线| 国产精品综合网站| 日韩中文综合网| 一本久道中文无码字幕av| 日本91av在线播放| 国产欧美日韩网站| 日韩在线免费高清视频| 精品久久久久久一区二区里番| 亚洲精品乱码久久久久久自慰| 欧美日韩精品免费看| 国产伦精品一区二区三区视频黑人| 久久免费视频网| 国产精品久久久久久久天堂| 伊人久久大香线蕉av一区| 日韩精品一区二区三区四区五区 | 日本一区二区三区免费观看| 韩国三级日本三级少妇99| 91av一区二区三区| 另类天堂视频在线观看| 日韩欧美亚洲日产国产| 成人综合视频在线| 日韩中文综合网| 亚洲7777| 国产欧美日韩丝袜精品一区| 久草青青在线观看| 亚洲天堂av免费在线观看| 欧洲日本亚洲国产区| 91久久精品视频| 国产精品国产三级国产专播精品人 | 91精品国产综合久久男男| 国产精品久久久久久久天堂|