当前位置: 首页 > news >正文

java使用xstream框架生成xml文件

1 JAVA代码生成XML框架

主要依赖

        <dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.20</version></dependency>

2 代码如下, 主要是内部标签嵌套规则, 还可以把XML对象转换成bean对象

package cn.djrj.web.controller.indicatorManage.xml.module;import cn.djrj.common.utils.StringUtils;
import cn.djrj.system.domain.SysUseModule;
import cn.djrj.system.domain.SysUseModuleParam;
import com.google.common.collect.ImmutableMap;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.naming.NoNameCoder;
import com.thoughtworks.xstream.io.xml.Xpp3Driver;import java.util.*;
import java.util.stream.Collectors;public class ModuleCombineUtil {public static void main(String args[]) {List<ItemSet> list = getSysIndicatorCombines();List<ShortbarItem> shortlist = getShortbar();List<UrlTag> weblist = getWebTag();toXML(list,shortlist,weblist);}//组装生成XML文件的功能配置public static String createXML(List<SysUseModule> list, Map<Long, SysUseModuleParam> configParam) {if (null == list || list.isEmpty()) {throw new RuntimeException("创建XML的参数为空,无法生成");}// 生成menu标签List<ItemSet> itemList = new ArrayList<>();// 生成shorbar标签List<ShortbarItem> shortBarList = new ArrayList<>();// 生成web标签List<UrlTag> webList = new ArrayList<>();// shortbar 一级目录ShortbarItem shortbarItem = new ShortbarItem();shortbarItem.setType(3);shortbarItem.setSort(100);shortBarList.add(shortbarItem);list.forEach(sysUseModule -> {Map<String, String> configParams;//menu标签 功能类型//if (null != sysUseModule.getUseType() && "0".equals(sysUseModule.getUseType()) || "3".equals(sysUseModule.getUseType()) ) {//导航区域,0=顶部if (null != sysUseModule.getNavigationArea() && "0".equals(sysUseModule.getNavigationArea())){//menu 标签extractedMenu(configParam, itemList, sysUseModule);} else if (null != sysUseModule.getNavigationArea() ) { // shortbar标签//导航1if ("1".equals(sysUseModule.getNavigationArea())) {configParams = new HashMap<>();getStrToMap(sysUseModule.getModuleParamId(), configParam,configParams);ShortbarItem shortbarItem0 = new ShortbarItem();shortbarItem0.setTitle(sysUseModule.getName());shortbarItem0.setType(0);shortbarItem0.setImage(configParams.getOrDefault("image", null));shortbarItem0.setImageSel(configParams.getOrDefault("image_sel", null));shortbarItem0.setCmd(configParams.getOrDefault("cmd", null));shortbarItem0.setTip(sysUseModule.getCode());//间距特殊处理shortbarItem0.setSeparator(configParams.getOrDefault("separator", null) != null ? true : null);shortbarItem0.setFunType(configParams.getOrDefault("funType", null) == null ? null : Integer.valueOf(configParams.get("funType")));shortbarItem0.setType(configParams.getOrDefault("type", null) == null ? 0 : Integer.parseInt(configParams.get("type")));shortbarItem0.setSort(0);if (null != configParams.getOrDefault("separator", null) && configParams.getOrDefault("funType", null) == null) {shortbarItem0.setType(1);shortbarItem0.setTitle("");shortbarItem0.setImage(null);shortbarItem0.setImageSel(null);shortbarItem0.setCmd(null);shortbarItem0.setTip(null);shortbarItem0.setSeparator(true);}shortbarItem0.setContext(configParam.getOrDefault(sysUseModule.getModuleParamId(), new SysUseModuleParam()).getContext());shortBarList.add(shortbarItem0);} else if (Arrays.asList(new String[]{"2", "3", "4"}).contains(sysUseModule.getNavigationArea())) {Map<String, String> paramChildernMap = getStrToMapChildern(sysUseModule.getModuleParamId(), configParam,sysUseModule.getNavigationArea());//二级目录ShortbarItem shortbarItem2 = new ShortbarItem();shortbarItem2.setTitle(sysUseModule.getName());shortbarItem2.setType(1);if (null != sysUseModule.getChildern() && sysUseModule.getChildern().size() > 0) {shortbarItem2.setType(4);}shortbarItem2.setImage(paramChildernMap.getOrDefault("image", null));shortbarItem2.setImageSel(paramChildernMap.getOrDefault("image_sel", null));shortbarItem2.setCmd(paramChildernMap.getOrDefault("cmd", null));//生成XML的CMD固定属性if (null != sysUseModule.getUseType() && "3".equals(sysUseModule.getUseType())) {shortbarItem2.setCmd("zbzh:" + sysUseModule.getName());}shortbarItem2.setImageHover(paramChildernMap.getOrDefault("image_hover", null));shortbarItem2.setContext(configParam.getOrDefault(sysUseModule.getModuleParamId(), new SysUseModuleParam()).getContext());shortbarItem.getItem().add(shortbarItem2);if (null != sysUseModule.getChildern() && sysUseModule.getChildern().size() > 0) {// 三级目录数据转换for (SysUseModule module : sysUseModule.getChildern()) {configParams = new HashMap<>();getStrToMap(module.getModuleParamId(), configParam,configParams);ShortbarItem shortChildern = new ShortbarItem();shortChildern.setTitle(module.getName());shortChildern.setTip(module.getCode());shortChildern.setType(1);//shortChildern.setImage(configParams.getOrDefault("image", null));//shortChildern.setImageSel(configParams.getOrDefault("image_sel", null));shortChildern.setCmd(configParams.getOrDefault("cmd", null));//shortChildern.setImageHover(configParams.getOrDefault("image_hover", null));shortChildern.setContext(configParam.getOrDefault(module.getModuleParamId(), new SysUseModuleParam()).getContext());shortbarItem2.getItem().add(shortChildern);}}}}// web标签if (null != sysUseModule.getUseType() && "1".equals(sysUseModule.getUseType())) {extractedTOweb(configParam, webList, sysUseModule,false);}// 二级网页if (null != sysUseModule.getChildern() && sysUseModule.getChildern().size() > 0) {for (SysUseModule module : sysUseModule.getChildern()) {if (null != module.getUseType() && "1".equals(module.getUseType())) {extractedTOweb(configParam, webList, module,false);}}}});return toXML(itemList, shortBarList.stream().sorted(Comparator.comparing(ShortbarItem::getSort)).collect(Collectors.toList()), webList);}// menu功能菜单private static void extractedMenu(Map<Long, SysUseModuleParam> configParam, List<ItemSet> itemList, SysUseModule sysUseModule) {Map<String, String> configParams;ItemSet itemSet = new ItemSet();itemSet.setTitle(sysUseModule.getName());itemSet.setTip(sysUseModule.getCode());configParams = new HashMap<>();getStrToMap(sysUseModule.getModuleParamId(), configParam,configParams);itemSet.setCmd(configParams.getOrDefault("cmd", null));if (null != configParams.getOrDefault("sel", null)) {itemSet.setSel(Integer.valueOf(configParams.get("sel")));}itemSet.setType(0);itemSet.setContext(configParam.getOrDefault(sysUseModule.getModuleParamId(), new SysUseModuleParam()).getContext());if (null != sysUseModule.getChildern() && sysUseModule.getChildern().size() > 0) {// 二级目录数据转换for (SysUseModule module : sysUseModule.getChildern()) {configParams = new HashMap<>();getStrToMap(module.getModuleParamId(), configParam,configParams);ItemSet itemChildern = new ItemSet();itemChildern.setTitle(module.getName());itemChildern.setFunType(1);itemChildern.setTip(module.getCode());itemChildern.setCmd(configParams.getOrDefault("cmd", null));//生成XML的CMD固定属性if (null != module.getUseType() && "3".equals(module.getUseType())) {itemChildern.setCmd("zbzh:" + module.getName());}//间距特殊处理itemChildern.setSeparator(configParams.getOrDefault("separator", null) != null ? true : null);itemChildern.setFunType(configParams.getOrDefault("funType", null) == null ? null : Integer.valueOf(configParams.get("funType")));//分隔符处理if (null != configParams.getOrDefault("separator", null) && configParams.getOrDefault("funType", null) == null) {itemChildern.setType(1);itemChildern.setFunType(null);itemChildern.setTitle("");itemChildern.setTip(null);itemChildern.setCmd(null);itemChildern.setSeparator(true);}itemChildern.setContext(configParam.getOrDefault(module.getModuleParamId(), new SysUseModuleParam()).getContext());itemSet.getItem().add(itemChildern);}itemSet.setFunType(2);}itemList.add(itemSet);}// web标签封装数据private static void extractedTOweb(Map<Long, SysUseModuleParam> configParam, List<UrlTag> webList, SysUseModule sysUseModule,boolean flag) {Map<String, String> paramWebMap = new HashMap<>();getStrToMap(sysUseModule.getModuleParamId(), configParam,paramWebMap);UrlTag web = new UrlTag();web.setTitle(sysUseModule.getName());web.setTip(sysUseModule.getCode());if ("1".equals(sysUseModule.getOpenType())) {web.setOpen(2);} else if ("2".equals(sysUseModule.getOpenType())) {web.setOpen(1);}web.setOpen(0);web.setWeb(sysUseModule.getUrl());web.setId(paramWebMap.getOrDefault("id", null));web.setContext(configParam.getOrDefault(sysUseModule.getModuleParamId(), new SysUseModuleParam()).getContext());if (StringUtils.isNotBlank(sysUseModule.getConfigXmlParam())) {String[] str = sysUseModule.getConfigXmlParam().split(",");for (String p : str) {Ptag ptag = new Ptag();ptag.setType(p);web.getP().add(ptag);}}webList.add(web);if (null != sysUseModule.getChildern() && sysUseModule.getChildern().size() > 0 && flag) {for (SysUseModule module : sysUseModule.getChildern()) {paramWebMap = new HashMap<>();getStrToMap(module.getModuleParamId(), configParam,paramWebMap);UrlTag webChildern = new UrlTag();webChildern.setTitle(module.getName());webChildern.setTip(module.getCode());if ("1".equals(module.getOpenType())) {webChildern.setOpen(2);} else if ("2".equals(module.getOpenType())) {webChildern.setOpen(1);}webChildern.setOpen(0);webChildern.setWeb(module.getUrl());webChildern.setContext(configParam.getOrDefault(module.getModuleParamId(), new SysUseModuleParam()).getContext());webChildern.setId(paramWebMap.getOrDefault("id", null));if (StringUtils.isNotBlank(module.getConfigXmlParam())) {String[] str = module.getConfigXmlParam().split(",");for (String p : str) {Ptag ptag = new Ptag();ptag.setType(p);webChildern.getP().add(ptag);}}webList.add(webChildern);}}}public static String toXML(List<ItemSet> list,List<ShortbarItem> shortbarItemList,List<UrlTag> weblist) {Config config = new Config();// menu标签Menu menu = new Menu();config.setMenu(menu);menu.setItem(list);// Shortbar标签Shortbar shortbar = new Shortbar();config.setShortbar(shortbar);shortbar.setItem(shortbarItemList);// Web标签Web web = new Web();config.setWeb(web);web.setUrl(weblist);//special 标签Special special = new Special();config.setSpecial(special);special.setZh(getSpecialZhTag());//fs_main 标签FsMain fsMain = new FsMain();config.setFs_main(fsMain);fsMain.setZh(getFsMainTag());//fs_sub 标签FsSub fsSub = new FsSub();config.setFs_sub(fsSub);fsSub.setZh(getfsSubZhTag());//kx_main 标签KxMain kxMain = new KxMain();config.setKx_main(kxMain);kxMain.setZh(getkxMainTag());//kx_sub 标签KxSub kxsub = new KxSub();config.setKx_sub(kxsub);kxsub.setZh(getKxSubZhTag());XStream xStream = new XStream(new Xpp3Driver(new NoNameCoder()));//不加设置, 注解别名不生效xStream.autodetectAnnotations(true);xStream.alias("config", Config.class);xStream.alias("menu", Menu.class);xStream.alias("item", ItemSet.class);/  ignore
/*        xStream.omitField(ItemSet.class, "draw");;*/// menu 标签 list数据属性xStream.addImplicitCollection(Menu.class, "item", "item", ItemSet.class);xStream.useAttributeFor(ItemSet.class, "title");xStream.useAttributeFor(ItemSet.class, "type");xStream.useAttributeFor(ItemSet.class, "sel");xStream.useAttributeFor(ItemSet.class, "funType");xStream.useAttributeFor(ItemSet.class, "tip");xStream.useAttributeFor(ItemSet.class, "cmd");xStream.useAttributeFor(ItemSet.class, "separator");xStream.useAttributeFor(ItemSet.class, "context");xStream.omitField(ItemSet.class, "context");xStream.addImplicitCollection(ItemSet.class, "item");// shortbar 标签xStream.addImplicitCollection(Shortbar.class, "item", "item", ShortbarItem.class);xStream.alias("shortbar", Shortbar.class);xStream.alias("item", ShortbarItem.class);//xStream.aliasField("image_sel",ShortbarItem.class,"image_sel");xStream.useAttributeFor(ShortbarItem.class, "title");xStream.useAttributeFor(ShortbarItem.class, "image");xStream.useAttributeFor(ShortbarItem.class, "imageSel");xStream.useAttributeFor(ShortbarItem.class, "type");xStream.useAttributeFor(ShortbarItem.class, "funType");xStream.useAttributeFor(ShortbarItem.class, "cmd");xStream.useAttributeFor(ShortbarItem.class, "tip");xStream.useAttributeFor(ShortbarItem.class, "separator");xStream.useAttributeFor(ShortbarItem.class, "imageHover");xStream.omitField(ShortbarItem.class, "sort");xStream.useAttributeFor(ShortbarItem.class, "context");xStream.omitField(ShortbarItem.class, "context");xStream.addImplicitCollection(ShortbarItem.class, "item");// web标签xStream.alias("web", Web.class);xStream.alias("url", UrlTag.class);xStream.useAttributeFor(UrlTag.class, "title");xStream.useAttributeFor(UrlTag.class, "web");xStream.useAttributeFor(UrlTag.class, "open");xStream.useAttributeFor(UrlTag.class, "fixed");xStream.useAttributeFor(UrlTag.class, "tip");xStream.useAttributeFor(UrlTag.class, "id");xStream.useAttributeFor(UrlTag.class, "context");xStream.omitField(UrlTag.class, "context");xStream.addImplicitCollection(Web.class, "url");xStream.addImplicitCollection(UrlTag.class, "p", "p", Ptag.class);xStream.useAttributeFor(Ptag.class, "type");//special 标签xStream.alias("special", Special.class);xStream.alias("zh", SpeZh.class);xStream.useAttributeFor(SpeZh.class, "title");xStream.useAttributeFor(SpeZh.class, "isMain");xStream.useAttributeFor(SpeZh.class, "type");xStream.addImplicitCollection(Special.class, "zh");//fs_main 标签xStream.alias("fs_main", FsMain.class);xStream.alias("zh", Title.class);xStream.useAttributeFor(Title.class,"title");xStream.useAttributeFor(Title.class,"context");//xStream.addImplicitCollection(Title.class, "title");xStream.addImplicitCollection(FsMain.class, "zh");//fs_sub 标签xStream.alias("fs_sub", FsSub.class);xStream.alias("zh", ZhSub.class);xStream.useAttributeFor(ZhSub.class, "title");xStream.addImplicitCollection(FsSub.class, "zh");//kx_main 标签xStream.alias("kx_main", KxMain.class);xStream.alias("zh", ZhSub.class);xStream.useAttributeFor(Title.class, "title");xStream.addImplicitCollection(KxMain.class, "zh");//kx_sub 标签xStream.alias("kx_sub", KxSub.class);xStream.alias("zh", ZhSub.class);xStream.useAttributeFor(Title.class, "title");xStream.addImplicitCollection(KxSub.class, "zh");String string = xStream.toXML(config);String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \n";//System.out.println(xml + string);return xml + string;}private static List<ItemSet> getSysIndicatorCombines() {ItemSet itemSet = new ItemSet();itemSet.setTitle("海王体验版");itemSet.setSel(100);itemSet.setFunType(1000);itemSet.setType(10000);ItemSet itemSet001 = new ItemSet();itemSet001.setSel(1100);itemSet001.setFunType(11000);itemSet001.setType(110000);itemSet.getItem().add(itemSet001);/ItemSet itemSet1 = new ItemSet();itemSet1.setTitle("赢家体验版");itemSet1.setSel(200);itemSet1.setFunType(2000);itemSet1.setType(20000);ItemSet itemSet002 = new ItemSet();itemSet002.setSel(2200);itemSet002.setFunType(22000);itemSet002.setType(220000);itemSet1.getItem().add(itemSet002);List<ItemSet> list = new ArrayList<>();list.add(itemSet);list.add(itemSet1);return list;}private static List<ShortbarItem> getShortbar() {//一级功能ShortbarItem itemSet = new ShortbarItem();itemSet.setTitle("交易");itemSet.setImageSel("100");itemSet.setFunType(1000);itemSet.setType(0);//二级功能
/*ShortbarItem itemSet001 = new ShortbarItem();itemSet001.setImageSel("1100");itemSet001.setFunType(11000);itemSet001.setType(110000);itemSet.getItem().add(itemSet001);
*//一级功能ShortbarItem itemSet1 = new ShortbarItem();itemSet1.setType(3);itemSet1.setFunType(null);//二级功能ShortbarItem itemSet002 = new ShortbarItem();itemSet002.setImageSel("2200");itemSet002.setFunType(22000);itemSet002.setType(220000);itemSet1.getItem().add(itemSet002);//三级功能ShortbarItem itemSet003 = new ShortbarItem();itemSet003.setImageSel("3300");itemSet003.setFunType(33000);itemSet003.setType(330000);itemSet002.getItem().add(itemSet003);List<ShortbarItem> list = new ArrayList<>();list.add(itemSet);list.add(itemSet1);return list;}private static List<UrlTag> getWebTag() {//一级功能UrlTag itemSet = new UrlTag();itemSet.setTitle("F10");itemSet.setWeb("www.baidu.com");itemSet.setOpen(11);itemSet.setFixed("true");//二级功能Ptag itemSet001 = new Ptag();itemSet001.setType("broker");Ptag itemSet002 = new Ptag();itemSet002.setType("stock");itemSet.getP().add(itemSet001);itemSet.getP().add(itemSet002);/一级功能UrlTag itemSet1 = new UrlTag();itemSet1.setTitle("自选资讯");itemSet1.setWeb("http://basic.10jqka.com.cn/");itemSet1.setOpen(22);itemSet1.setFixed("false");//二级功能/*       Ptag itemSet002 = new Ptag();itemSet002.setImageSel("2200");itemSet002.setFunType(22000);itemSet002.setType(220000);itemSet1.getItem().add(itemSet002);*/List<UrlTag> list = new ArrayList<>();list.add(itemSet);list.add(itemSet1);return list;}private static List<SpeZh> getSpecialZhTag() {List<SpeZh> zhList = new ArrayList<>();zhList.add(new SpeZh("MACD","0"));zhList.add(new SpeZh("DMI","0"));zhList.add(new SpeZh("DMA","0"));zhList.add(new SpeZh("FSL","0"));zhList.add(new SpeZh("TRIX","0"));zhList.add(new SpeZh("BRAR","0"));zhList.add(new SpeZh("CR","0"));zhList.add(new SpeZh("VR","0"));zhList.add(new SpeZh("OBV","0"));zhList.add(new SpeZh("ASI","0"));zhList.add(new SpeZh("EMV","0"));zhList.add(new SpeZh("VOL","0"));zhList.add(new SpeZh("RSI","0"));zhList.add(new SpeZh("WR","0"));zhList.add(new SpeZh("KDJ","0"));zhList.add(new SpeZh("CCI","0"));zhList.add(new SpeZh("ROC","0"));zhList.add(new SpeZh("MTM","0"));zhList.add(new SpeZh("BOLL","0"));zhList.add(new SpeZh("PSY","0"));zhList.add(new SpeZh("MA", "1", "fxt"));zhList.add(new SpeZh("MA2", "1", "fxt"));zhList.add(new SpeZh("EXPMA", "1", "fxt"));zhList.add(new SpeZh("BBIBOLL", "1", "fxt"));return zhList;}private static List<ZhSub> getfsSubZhTag() {List<ZhSub> zhList = new ArrayList<>();zhList.add(new ZhSub("MACD"));zhList.add(new ZhSub("KDJ"));zhList.add(new ZhSub("BOLL"));zhList.add(new ZhSub("DMI"));zhList.add(new ZhSub("WR"));return zhList;}private static List<ZhSub> getkxMainTag() {List<ZhSub> zhList = new ArrayList<>();zhList.add(new ZhSub("MA"));zhList.add(new ZhSub("MA2"));zhList.add(new ZhSub("EXPMA"));zhList.add(new ZhSub("BBIBOLL"));return zhList;}private static List<ZhSub> getKxSubZhTag() {List<ZhSub> zhList = new ArrayList<>();zhList.add(new ZhSub("MACD"));zhList.add(new ZhSub("DMI"));zhList.add(new ZhSub("DMA"));zhList.add(new ZhSub("FSL"));zhList.add(new ZhSub("TRIX"));zhList.add(new ZhSub("BRAR"));zhList.add(new ZhSub("CR"));zhList.add(new ZhSub("VR"));zhList.add(new ZhSub("OBV"));zhList.add(new ZhSub("ASI"));zhList.add(new ZhSub("EMV"));zhList.add(new ZhSub("VOL"));zhList.add(new ZhSub("RSI"));zhList.add(new ZhSub("WR"));zhList.add(new ZhSub("KDJ"));zhList.add(new ZhSub("CCI"));zhList.add(new ZhSub("ROC"));zhList.add(new ZhSub("MTM"));zhList.add(new ZhSub("BOLL"));zhList.add(new ZhSub("PSY"));return zhList;}private static List<Title> getFsMainTag() {List<Title> titles = new ArrayList<>();Title ti = new Title();ti.setTitle("MA");// ti.setContext("name=MACD,isMain=0");titles.add(ti);return titles;}private static void getStrToMap(Long id,Map configParam,Map configParams) {if (null == id) {return;}Map<String, String> map = configParams == null || configParams.isEmpty() ? new HashMap<>() : configParams;SysUseModuleParam paramMap = (SysUseModuleParam) configParam.getOrDefault(id, null);if (null != paramMap && StringUtils.isNotBlank(paramMap.getContext())) {// 拼装固定参数// String str = "image=ShortBar,image_sel=ShortBar";String[] pairs = paramMap.getContext().split("&");for (String pair : pairs) {String[] keyValue = pair.split("=");configParams.put(keyValue[0], keyValue[1]);}}}private static Map<String,String> getStrToMapChildern(Long id,Map configParam,String areaValue) {if (null == id) {return new HashMap<>();}Map<String, String> map = new HashMap<>();SysUseModuleParam paramMap = (SysUseModuleParam) configParam.getOrDefault(id, null);if (null != paramMap && StringUtils.isNotBlank(paramMap.getContext())) {// 拼装固定参数if (StringUtils.isNotBlank(areaValue)) {if (null != PARAM_AREA_MAP.getOrDefault(areaValue, null)) {paramMap.setContext(paramMap.getContext() + "&" + PARAM_AREA_MAP.getOrDefault(areaValue, null));}}// String str = "image=ShortBar,image_sel=ShortBar";String[] pairs = paramMap.getContext().split("&");for (String pair : pairs) {String[] keyValue = pair.split("=");map.put(keyValue[0], keyValue[1]);}}// System.out.println(map);return map;}public static Map<String, String> PARAM_AREA_MAP = ImmutableMap.<String, String>builder().put("2","image=#B19659&image_sel=#FFC10A&image_hover=#FFDA88").put("3","image=#926995&image_sel=#F7A1FF&image_hover=#F9AAFF").put("4","image=#61709C&image_sel=#B5C8FF&image_hover=#94AFFF").build();/*   手拼成XML生成方式private String createXML(List<ItemSet> list){String[] types = new String[]{"CONCEPT-概念", "FGBK-风格", "DYBK-地域", "HYBK-行业"};//创建documentDocument document = DocumentHelper.createDocument();//创建根节点Element root = DocumentHelper.createElement("config");document.setRootElement(root);//创建根节点下的子节点for (String type : types) {Element bigblock = root.addElement("bigblock");bigblock.addAttribute("code", type.split("-")[0]);bigblock.addAttribute("setcode", "");bigblock.addAttribute("name", "");}return document.getXMLEncoding();}*/}

生成XML如下

<?xml version="1.0" encoding="UTF-8" ?>
<config><menu><item title="决策" funType=2><item title="市场热点" funType=1 shortcut="SCRD" cmd="cmd:25"/><item title="行情异动" funType=1 shortcut="HQYD"  cmd="cmd:65"/><item title="" type=1 separator=true /><item title="龙头掘金" cmd="cmd:69" right="300"/><item title="" type=1 separator=true /><item title="资金监控" cmd="zbzh:资金监控"/></item><item title="发现" funType=2><item title="未来大事" funType=1 cmd="web"/><item title="事件驱动" funType=1 cmd="web"/><item title="盘口异动" funType=1 cmd="web"/><item title="个股避雷" funType=1 cmd="web"/></item><item title="交易" cmd="trade"/></menu><shortbar><item title="首页" image="ShortBar/new_sy" image_sel="ShortBar/new_sy" type=0 funType=0 cmd="cmd:3"/><item title="" image="ShortBar/jy" image_sel="ShortBar/jy" type=-1 separator=true funType=6 /><item type =2><item title="自选股" tip="自选股" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:16,9002,-1,0"><item title="自选股" tip="自选股" cmd="cmd:16,9002,-1,0"/><item title="最近浏览" tip="最近浏览" cmd="cmd:16,9114,-1,0"/></item><item title="全景图" tip="全景图" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:3"><item title="全景图" tip="全景图" cmd="cmd:3"/></item></item><item type =2><item title="大盘" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:67"><item title="中证500" cmd="cmd:2,120"/><item title="上证50" cmd="cmd:2,114"/></item><item title="B股" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:101,7,14,1"><item title="沪深B股" cmd="cmd:101,7,14,1"/><item title="上证B股" cmd="cmd:101,1,14,1"/><item title="深证B股" cmd="cmd:101,3,14,1"/></item></item><item type =2><item title="板块" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:9,36,-1,0"><item title="概念板块" cmd="cmd:9,37,-1,0"/></item><item title="基金" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:66,9,14,1"><item title="沪深基金" cmd="cmd:66,9,14,1"/><item title="ETF基金" cmd="cmd:66,75,14,1"/></item></item>	<item type =2><item title="个股" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:60,6,14,1"><item title="科创板" cmd="cmd:60,74,14,1"/><item title="沪深300" cmd="cmd:2,119"/></item><item title="债券" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:102,8,14,1"><item title="可转债" cmd="cmd:102,28,14,1"/></item></item>	<item type =2><item title="综合排名" image="#B19659" image_sel="#FFC10A" image_hover="#FFF078" type=4 cmd="cmd:8,6"><item title="综合排名" cmd="cmd:8,6"/><item title="财务分析" cmd="cmd:62,6,50,1"/></item></item>	<item type =2><item title="市场热点" type=1 image="#926995" image_sel="#F7A1FF" image_hover="#F67EFF"  shortcut="SCRD" cmd="cmd:25"/><item title="行情异动" type=1 image="#926995" image_sel="#F7A1FF" image_hover="#F67EFF" shortcut="HQYD"  cmd="cmd:65"/></item></shortbar><web><url title="F10" web="http://basic.10jqka.com.cn/" open=0 ><p type="broker"/></url><url title="自选资讯"  web="https://cn/pc/#/index?active=3" id="73" /><url title="未来大事" web="https://-tt" id="74" /><url title="个股避雷" web="https://-tesan" id="77" /><url title="个股资讯" web="http://.1.1/hrhg/zxList"><p type="stock"/><p type="bzs"/><p type="skin"/></url><url title="研究报告" web="http://47..148.190/hrhg/yb"><p type="stock"/></url><url title="行业资讯" web="http://hrhg/blocklist"><p type="stock_hyblockcode"/><p type="stock_hyblockname"/></url><url title="payInfo" web="http://47:80/course/pay"></url><url title="SetDrawLine" web="http://16379/api/drawLines/set"><p type="phone"/><p type="plaform"/><p type="key"/></url><url title="webTest" web="https://win32/api/winuser/nc-winuser-wndproc" /><url title="今日最相似" web="http:49.:8880/klineRank" /><url title="commonShortcuts_jsp" web="web/.html" open=2/><url title="helpManual_mqt" web="web/.html" open=2/><url title="Register" web="http://16379/api/user/register?" open=0 ><p type="username"/><p type="phone"/><p type="code"/><p type="password"/><p type="confirmPassword"/><p type="inviteCode"/></url><special><!-- </zh> --><zh title="MACD" isMain="0"/><zh title="DMI" isMain="0"/><zh title="MTM" isMain="0"/><zh title="BOLL" isMain="0"/><zh title="PSY" isMain="0"/></special><fs_main><zh title="MA"/></fs_main><fs_sub><zh title="MACD"/><zh title="WR"/></fs_sub><kx_main><zh title="MA"/><zh title="MA2"/><zh title="BBIBOLL"/></kx_main><kx_sub><zh title="MACD"/><zh title="MTM"/><zh title="BOLL"/><zh title="PSY"/></kx_sub><vip_zb_rights><vip name="估值脉络线"  spell="GZMLX"/></vip_zb_rights><images></images><saveScheme save=1></saveScheme><tabBar hide=1></tabBar><skinVisible hide=0></skinVisible>
</config>

相关文章:

  • 5.【自动驾驶与机器人中的SLAM技术】2D点云的scan matching算法 和 检测退化场景的思路
  • Unity中Shader编译目标渲染器
  • Java转Go学习之旅 | Go入门(2)
  • Java零基础-if条件语句
  • 雷军:我的程序人生路
  • JS的监听事件
  • 企业微信协议开发,API接口调用
  • 操作系统——进程同步
  • Linux chfn命令教程:如何更改和管理用户的finger信息(附案例详解和注意事项)
  • 【微软技术栈】与其他.NET语言的互操作性 (C++/CLI)
  • 移动端APP自动化测试框架-UiAutomator2基础
  • hive sqlspark 优化
  • GPT3年终总结
  • 为告警设备设置服务端属性,在tb中标记存在告警的设备
  • 【Vulnhub 靶场】【Prime (2021): 2】【简单 - 中等】【20210509】
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Intervention/image 图片处理扩展包的安装和使用
  • Linux链接文件
  • Mysql5.6主从复制
  • Python学习之路13-记分
  • Vue UI框架库开发介绍
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 解决iview多表头动态更改列元素发生的错误
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 如何编写一个可升级的智能合约
  • elasticsearch-head插件安装
  • 数据库巡检项
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • (C)一些题4
  • (C语言)字符分类函数
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (南京观海微电子)——I3C协议介绍
  • (三) diretfbrc详解
  • (转)四层和七层负载均衡的区别
  • (转载)深入super,看Python如何解决钻石继承难题
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET 读取 JSON格式的数据
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET开发不可不知、不可不用的辅助类(一)
  • [ C++ ] STL---stack与queue
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [Android]一个简单使用Handler做Timer的例子
  • [ARC066F]Contest with Drinks Hard
  • [c]扫雷
  • [C++]——带你学习类和对象
  • [C++]模板与STL简介
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
  • [CodeForces-759D]Bacterial Melee