第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將訪問(wèn)例程添加到由XSD生成的JAXB生成的類集中

將訪問(wèn)例程添加到由XSD生成的JAXB生成的類集中

SMILET 2021-05-04 21:26:28
我有一個(gè)基于XSD的嵌套XML結(jié)構(gòu)。我使用JAXB進(jìn)行編組(只讀)。通常,我需要在大型結(jié)構(gòu)的某處找到一個(gè)或多個(gè)元素。為了避免每次需要搜索時(shí)都遍歷結(jié)構(gòu),我想添加一個(gè)帶有內(nèi)部緩存的優(yōu)化搜索功能。定義它的最佳方法是什么?不同方式的優(yōu)點(diǎn)/缺點(diǎn)是什么?我最初想到使用Facade或適配器,其中adaper類訪問(wèn)生成的類并根據(jù)需要添加方法。但是我想提出建議。作為一個(gè)(略)簡(jiǎn)化的示例,需要搜索基于此XSD的XML,以查找具有特定“ boq”元素的“ step”類型的Elements:<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">  <xs:element name="test">    <xs:complexType>      <xs:sequence>        <xs:element maxOccurs="unbounded" ref="group"/>      </xs:sequence>    </xs:complexType>  </xs:element>  <xs:element name="group">    <xs:complexType>      <xs:sequence>        <xs:element maxOccurs="unbounded" ref="step"/>      </xs:sequence>    </xs:complexType>  </xs:element>  <xs:element name="step">    <xs:complexType>      <xs:sequence>        <xs:element minOccurs="0" ref="number"/>        <xs:element ref="name"/>        <xs:element ref="type"/>        <xs:element ref="target"/>        <xs:sequence minOccurs="0">          <xs:element ref="boq"/>          <xs:element ref="remote"/>        </xs:sequence>      </xs:sequence>    </xs:complexType>  </xs:element>  <xs:element name="number" type="xs:integer"/>  <xs:element name="name" type="xs:NCName"/>  <xs:element name="type" type="xs:NCName"/>  <xs:element name="target" type="xs:NCName"/>  <xs:element name="boq" type="xs:string"/>  <xs:element name="remote" type="xs:string"/></xs:schema>該模式已使用JAXB進(jìn)行了編譯,因此我得到了幾個(gè)類。使用解組功能,我在內(nèi)存中擁有訪問(wèn)XML的數(shù)據(jù)結(jié)構(gòu)?,F(xiàn)在考慮,我需要一個(gè)優(yōu)化的搜索功能,該功能可以訪問(wèn)定義了boq元素的所有步驟,并返回boq和remote的值(如果也已定義)。    HashMap<String,Step> resultMap = new HashMap<>();    test.getGroup().forEach(group ->             group.getStep().forEach(step -> {                    if ("searchpattern".equals(step.getBoq()))                        resultMap.put("searchpattern", step);            }));封裝此類搜索的最佳方法是什么?我可以編寫第二類作為包含此方法的適配器,還是有更好的選擇?遺產(chǎn)?使用JAXB本身的選項(xiàng)?使用第三方插件(例如jaxb-delegate插件)來(lái)實(shí)現(xiàn)Maven?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)