2023年12月3日发(作者:)
xml格式转换 最近接到授权迁移的任务,需要将原xml的权限表转换成新格式的xml权限表;本来想手动完成xml格式转换,人工将旧权限表的数据转移到新表上,但仔细想了想,数据有点多,这不适合一个懒人;与人工手动实现的思路一样,将实现过程转化为java代码逻辑,实际我们编程的思路也是这样来的,化难为多,变多为简。原xml权限表数据格式:
while(t()){ Element e = (); //获取id属性(attribute是属性的意思) Attribute id = ute("id"); Attribute label = ute("label"); Element parent = t("parent"); Element display = t("display");
Item item = new Item(); // 权限码 (ingValue()); // 父权限码 (ingValue()); // 名称 e(ingValue()); // 超级链接(用于菜单) (""); // 图标 n(""); // 0不显示 1显示(用于菜单) play(ingValue()); // 用于版本升级(暂时不用) ("1"); // 国际化key 18n(""); // 标签 le(ingValue());
(item); // n("id:" + ingValue() + ",lable:" + ingValue() + ",parent:" + ingValue()); } n("---------------------------------------------------------------");
// // 格式:
n("新的xml权限文件已生成!一共转换了" + () + "条数据。"); }}class Item{ /** * 权限码 */ private String id; /** * 父权限码 */ private String pid; /** * 名称 */ private String name; /** * 超级链接(用于菜单) */ private String url; /** * 图标 */ private String icon; /** * 0不显示 1显示(用于菜单) */ private String display; /** * 用于版本升级(暂时不用) */ private String tag; /** * 国际化key */ private String i18n; /** * 标签 */ private String lable;
public String getId() { return id; } public void setId(String id) { = id; } public String getPid() { return pid; } public void setPid(String pid) { = pid; } public String getName() { return name; } public void setName(String name) { = name; } public String getUrl() { return url; } public void setUrl(String url) { = url; } public String getIcon() { return icon; } public void setIcon(String icon) { = icon; } public String getDisplay() { return display; } public void setDisplay(String display) { y = display; } public String getTag() { return tag; } public void setTag(String tag) { = tag; } public String getI18n() { return i18n; } public void setI18n(String i18n) { this.i18n = i18n; } public String getLable() { return lable; } public void setLable(String lable) { = lable; }
} 打开生成的新格式的xml文件发现,xml的属性都挤到了同一行,本来想在代码里完成换行操作,坚持而不懈的懒下去。然后搜到了这边文章‘’(评论是重点),原话如下,不换行才是正确的XML格式写法,因为换行的时候,从换行处到下一行字符开始,中间的部分也算是一个节点!如果你的xml要保存成文件,仅仅是为了看起来方便,建议用工具格式化就行! 一语点醒搬砖人啊! 接下来就简单了,找个格式化工具,一键格式化,搞定!参考资料如下:第一步:读取xml文件:第二步:写入xml文件:第三步:java写入xml文件时换行:第四步:xml换行格式化工具: 建议一定要想好写什么标题,或者说关键字才能尽可能准确快速的找到解决方案。嘎嘎


发布评论