firstobjet free xml的格式化

本文介绍如何使用Freemarker和Java生成Word文档,包括设置FirstobjectfreeXMLeditor格式化XML文件、Notepad++插件美化XML及Freemarker模板语言的使用方法。

今天在研究framemark 生成word,发现一个用来打开xml文件的小工具,就是firstobject free xml,如果不进行设置,打开的xml文件还是没有格式,刚开始我用此工具打开一个以中文名字命名的文件"商品条形码数据.xml"只要一用此工具就卡,后来把此文件改为英文,立马就好了,不过,打开的xml文件没有格式,看起很乱,后来百度,设置下

用Firstobject free XML editor格式化xml文件的方法是在tool->preferences里。设置Indent为Tabs,然后打开你要格式化的XML文件,选 择Tools下的Indent【或者按快捷键F8】就搞定。左边是XML的文档结构,右边是文档内容,很清晰。

2、其实notepad++也可以添加xml的插件

1、找到工具栏上的插件-->Plugin Manger-->show Plugin Mangager--->选择以xml 开头的进行安装后

然后选择 在插件工具栏下就会有xml Tools--->Pretty print 也就是crel+alt+shirt+b即可

接着说一说利用framemark生成word:

项目中需要用 java 程序生成doc 文件,百度一番,FreeMarker 的评价比较高,FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出,至于想详细了解 FreeMarker 的请去问百度, 当然使用poi也可以生成word

1. 制作 Word 模版

2. 将 Word文档保存为 xml

3. freemarker 标签语言替换字段

用 Firstobject free XML edito 打开,将你需要动态生成的字段打上标记,${} 这样就可以

4. 引入项目

将 xml 文件更改后缀名 为 .ftl, 然后引用到你的项目中

需要注意的问题:

a. word 版本不能低于 2003 ,因为 2003 才开始支持 xml;

b.用 Firstobject free XML edito 打开 要编辑的 xml 文件时,xml 不要放在含有中文路径的目录中【编辑器会无响应,然后你知道的.....】

 

实现的代码如下:

 

package com.dianzhi.db;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import freemarker.template.Configuration;
import freemarker.template.Template;

public class TestWord  {
    private Configuration configuration = null;
    private DBManager db = null;
     private Connection conn;
      private ResultSet res;

    public TestWord() {
        configuration = new Configuration();
        db = new DBManager();
        configuration.setDefaultEncoding("UTF-8");
    }

    public static void main(String[] args) {
        TestWord testWord = new TestWord();
        testWord.createWord();

    }

    public void createWord() {
        Map<String, Object> dataMap = new HashMap<String, Object>();
        
        conn = db.getConn();
        PreparedStatement pre = null;
        try {
            String selectSql = "SELECT ID,NAME,NORMALPRICE,MEMBERPRICE FROM PRODUCT ";
            PreparedStatement state = conn.prepareStatement(selectSql);
            ResultSet res = state.executeQuery();
            while (res.next()) {
                dataMap.put("id", res.getString("id").trim());
                dataMap.put("name", res.getString("name").trim());
                dataMap.put("normalprice", res.getString("normalprice").trim());
                dataMap.put("memberprice", res.getString("memberprice").trim());
                configuration.setClassForTemplateLoading(this.getClass(),
                        "notificationTemplate"); // FTL鏂囦欢鎵?瓨鍦ㄧ殑浣嶇疆
                Template template = configuration.getTemplate("a.ftl");

                File outFile = new File("D:/temp/"
                        + res.getString("NAME").toString().trim()
                                .replaceAll("/", "") + ".doc");
                Writer out = new BufferedWriter(new OutputStreamWriter(
                        new FileOutputStream(outFile), "UTF-8"));
                template.process(dataMap, out);

            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

. 代码数据库为 oralce,将查询到的数据,动态填入到wod 中;

 b.template.process(),接受一个 Map 和 输入流做为入参,Map 既是你需要动态生成到 doc 里面的数据,字段名必须与你在 .ftl 里面定义的一致;

 c. 我觉得数据的来源可以很多,程序计算的结果,数据库存储的数据,页面点击的数据.........

 d. 如果你想利用这段代码,需要有一个 .ftl 文件,并且在你的项目 src 目录下面新建 template 目录;

FreeMarker.jar 、实例项目的.ftl

e.大家在做测试的时候,路径一定要对

 这是我分享的百度云链接,大家需要可以下载:

http://pan.baidu.com/s/1pKFjATt

 

转载于:https://www.cnblogs.com/chizizhixin/p/5442035.html

<think>好的,我现在需要帮助用户解决如何在MyBatis中设置mapper.xml文件的格式化规则或使用相关工具进行格式化的问题。用户之前提到了他们在IDEA中遇到了格式化失效的问题,并且引用了一些相关的资料,比如插件的问题。我需要结合这些信息,给出清晰的步骤和建议。 首先,用户的需求是关于mapper.xml文件的格式化设置或工具使用。根据引用[4],用户之前遇到的问题是IDEA中sql无提示、无高亮、格式化失效,解决方法是启用XPathView + XSLT插件。这可能说明插件对于MyBatis XML文件的格式化有影响。因此,我应该首先建议检查相关插件是否启用,特别是XPathView和MyBatis相关的插件。 接下来,我需要考虑IDEA本身的设置。比如,在设置中配置XML格式化规则,调整缩进、换行等。用户可能需要自定义这些规则来符合团队的编码规范。另外,MyBatis的DTD文件是否正确加载也很重要,这会影响代码提示和格式化效果,所以需要确保DOCTYPE声明正确,并且IDEA能正确解析。 此外,第三方工具如MyBatis Code Helper Pro插件可能提供更强大的格式化功能,这也是一个值得推荐的选项。用户可能不知道这些插件的存在,所以需要详细说明如何安装和配置。 还需要提到外部工具,比如使用prettier或其他XML格式化工具,但可能需要配置才能适配MyBatis的特定标签。这部分可能需要更多的步骤,但用户如果有其他偏好工具,可以提供这种选择。 最后,提醒用户注意事项,比如备份文件、团队规范统一等,确保格式化不会引入错误或格式不一致的问题。 总结下来,回答的结构应该是分点说明,包括插件配置、IDEA设置、第三方工具、外部工具以及注意事项。同时,要引用用户提供的资料,特别是引用[4]关于插件的部分,以及引用[3]关于mapper.xml的结构,确保回答的相关性。</think>在MyBatis中设置$mapper.xml$文件的格式化规则,可通过以下方法实现: --- ### 一、IDEA插件配置(推荐) 1. **启用XPathView + XSLT插件** - 在IDEA设置中前往`Plugins` -> `Installed` - 搜索并启用`XPathView + XSLT`插件 - 此插件可提供XML语法高亮、标签补全和格式化功能[^4] 2. **安装MyBatis专属插件** - 推荐安装`MyBatis Code Helper Pro`或`Free MyBatis Tool` - 支持自动生成XML标签、SQL语句格式化及错误检查 --- ### 二、XML格式化规则设置 1. **IDEA原生配置** - 打开设置:`File` -> `Settings` -> `Editor` -> `Code Style` -> `XML` - 在`Arrangement`标签页配置元素排序规则 - 在`Other`标签页设置缩进为2/4空格(推荐与Java代码对齐) 2. **自定义DTD识别** 确保XML头部声明正确: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> ``` IDEA会自动加载DTD定义实现智能提示[^1][^3] --- ### 三、第三方格式化工具 1. **使用Prettier** 在构建工具中集成: ```javascript // .prettierrc { "xmlWhitespaceSensitivity": "ignore", "xmlSortAttributesByKey": true } ``` 需安装`@prettier/plugin-xml` 2. **命令行工具** 使用`xmllint`进行基础格式化: ```shell xmllint --format input.xml -o output.xml ``` --- ### 四、注意事项 1. **格式化前备份文件**,避免误操作导致SQL语句结构破坏 2. **团队统一规则**,建议通过`.editorconfig`文件约束格式 3. **数据库字段提示**需在IDEA中配置数据源连接[^4] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值