使用产品:iserver 10.2.1i 操作系统:win10 x64 数据类型: postgres
我现在知道数据集复制是用 copyDataset方法,官方也有给示例
但是如果我想读取smwu/sxwu文件下的地图,并复制到我pg的数据源下的工作空间,有哪个方法可以用到呢? 可否给个示例
您好,
地图是存储在工作空间中,地图可以通过输出地图模板后,在另一个工作空间中读取地图模板得方式来复制地图, 地图导出XML字符串的接口为map.toXML(),导入地图模板的接口为map.fromXML(**.xml) 。可在联机帮助文档中查找”Map“类,搜索接口及说明。
希望能够帮助到您!
你好,我按照示例,自己写了一个例子,发现导入的地图还是有一些问题,
不知道fromXML这个方法是如何使用的,联机帮助文档的例子其实也不是很理解
可以帮我看一下吗
Maps maps = workspaceSrc.getMaps(); for (int i = 0; i < maps.getCount(); i++) { Map srcMap = new Map(workspaceSrc); srcMap.open(workspaceSrc.getMaps().get(i)); // 将地图导出为 XML 字符串 String srcXml = srcMap.toXML(); // 将XML格式的地图对象转换为地图对象 // Map targetMap = new Map(workspaceDesc); // 通过导入 xml 字符串创建地图 // targetMap.fromXML(srcXml); workspaceDesc.getMaps().add(srcMap.getName(), srcXml); //释放资源 srcMap.close(); srcMap.dispose(); }
// 打开工作空间中的地图 Map map = new Map(workspace); Boolean flag1 = map.open(workspace.getMaps().get(0)); System.out.println("打开地图1:" + flag1); map.fromXML(workspace.getMaps().get(0)); workspace.getMaps().add("map2", map.toXML()) ; workspace.save();