`
web_in
  • 浏览: 15044 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[实用工具类与产品化] -- 金融类XML常用文本值转换【难度 ★★】

阅读更多
在金融系统中,经常会使用XML作为数据传输的载体,大家都有银联卡,在刷卡的瞬间,就有一张XML生产并传送都远方的服务器(有兴趣可以查询ISO20022标准)。

XML技术看似简单,但又容易被人忽视。例如许多人由数据库中提取的值,就直接嵌入XML中。表面上看好似没有问题,但万一数据库中存储的值有非法XML字符(如 >, ", ' 等)。则会破坏XML的完整性导致传送错误。

所以我们在提取数据库的值的时候,需要使用安全的字符转义。例如“>”可以转义为“">”。
下面是一个名为TextUtil的工具类,除了XML的转换方法外,还有一个金融数字的显示方法:

import java.text.DecimalFormat;

public class TextUtil {
    public static String changeFromTxtToSafeXML(String str){
        str = str.replace("&", "&");
        str = str.replace("<", "&lt;");
        str = str.replace(">", "&gt;");
        str = str.replace("\"", "&quot;");
        str = str.replace("'", "&apos");
        return str;
    }

    public static String changeFromSafeXMLToTxt(String str){
        str = str.replace("&amp;",  "&");
        str = str.replace("&lt;",   "<");
        str = str.replace("&gt;",   ">");
        str = str.replace("&quot;", "\"");
        str = str.replace("&apos;", "'");
        return str;
    }

    public static String financialDataFormat(double dblData){
        DecimalFormat fnclFormat = new DecimalFormat("#,###,###,##0.00");
        return fnclFormat.format(dblData);
    }

}


我们可以写个测试类来测试这个工具类:
public static void main(String[] args){
    String str1 = "I will try >_< and ^_^ and & ";
    System.out.println("Changed value:" + TextUtil.changeFromTxtToSafeXML(str1));
    double db1 = 6900.3;
    System.out.println("Changed value:" + TextUtil.financialDataFormat(db1));

}

输出的结果:
Changed value:I will try &gt;_&lt; and ^_^ and &amp;
Changed value:6,900.30

分享到:
评论

相关推荐

    行业列表xml文件

    根据提供的信息,我们可以详细解析这份XML格式的行业列表文件,并从中提炼出各个行业的知识点。 ### 行业列表 XML 文件分析 #### 1. IT/通信/电子/互联网 这一大类包括了信息技术产业的主要分支: - **互联网/...

    Semantic Models for XML Schema with UML Tooling

    ### 语义模型在XML Schema中的应用与UML工具 #### 概述 在软件工程领域,XML Schema的设计与使用是构建系统时不可或缺的一部分。然而,由于不同组织、部门乃至个人编写了大量XML Schema,这些Schema之间存在着重复...

    DB29.7pureXML指南

    - **XML文档**: XML文档是用于结构化数据表示的标准格式,它由元素、属性、文本等组成。 - **XML Schema**: XML Schema定义了XML文档的结构和内容约束,用于验证文档的有效性。 - **XQuery和XPath**: XQuery是一种...

    大数据企业级分析平台(LEAP)架构图、能力地图及应用规划方案.pptx

    - **工具**: 可视化工具如Matplotlib、Seaborn等。 - **效果**: 通过图表形式直观展现预测结果。 **7. 异常检测与预警** - **原理**: 通过数据挖掘技术实时监测业务数据中的异常情况。 - **工具**: 使用聚类...

    Google.Hacks.探索和利用全球信息资源的技巧和工具——英文版

    ### Google.Hacks:探索和利用全球信息资源的技巧和工具 #### 核心知识点概览 本书《Google.Hacks》是一本深入探索Google搜索引擎高级应用技术的书籍,它不仅介绍了如何高效地使用Google进行信息搜索,还展示了...

    UltraWinChart NA2004 Vol2

    - **应用场景**:适用于需要高分辨率显示或对图像质量有较高要求的应用场景,如金融数据分析、科学研究可视化等。 - **优势**:提高数据可视化的准确性和专业性。 2. **颜色模型(Color Model)**: - **定义**...

    行业文档-设计装置-快速写入XBRL实例文档事实值的系统及方法.zip

    它允许企业、金融机构和其他组织以结构化的方式交换财务和业务数据,便于自动化处理、分析和比较。本行业文档主要探讨的是设计一种能够快速写入XBRL实例文档事实值的系统及方法,这对于提高财务报告的效率和准确性...

    大数据分析与精准营销.pptx

    - **类型多**:不仅包括结构化数据(如关系型数据库中的数据),还包含半结构化和非结构化数据(如XML文件、文本、图像等)。 - **处理速度快**:需实时或接近实时地处理数据以满足业务需求。 #### 2. 发展历程与...

    Python库 | h2o_pysparkling_2.1-3.32.1.4-1.tar.gz

    2. 自动化特征工程:H2O提供丰富的预处理功能,如列转换、缺失值处理、异常值检测等。 3. 流程集成:PySparkling允许在Spark的数据处理管道中直接插入H2O模型,简化工作流程。 4. 实时模型评估:H2O-PySparkling支持...

    fpml reporting jaxb

    标题“fpml reporting jaxb”涉及到的是金融产品模型语言(Financial Product Markup Language, FPML)的报告功能以及Java Architecture for XML Binding(JAXB)技术的应用。FPML是一种用于金融衍生品和其他金融...

    dorado 5 用户指南 v1.1.doc

    - **特点:** 直接与实体类关联,支持CRUD操作。 ##### 5.8 MarmotDataset - **定义:** 一种用于处理大量数据的高效Dataset。 - **优势:** 优化了数据加载和处理过程,提高了性能。 ##### 5.9 ViewDataset - *...

    crypto-icons-master.rar

    1. SVG源码:SVG图标以XML文本形式存储,开发者可以使用文本编辑器或专业的SVG编辑工具进行修改,如添加自定义颜色、调整大小或添加动画效果。这种灵活性使得SVG图标在适应不同设计风格时具有高度可定制性。 2. PNG...

    matlab开发-MatlabThomsonReutersTickHistoryTRTHsystemAPIsetup软件

    由于Matlab与Java的无缝集成,开发者可以在Matlab环境中编写和测试API调用,同时利用Matlab强大的数据处理和可视化工具。 开发过程中,可能会涉及以下步骤: - 配置Matlab环境,设置类路径以包含TRTHApiService.jar...

    唐小僧期望年化表格

    在这个场景中,“唐小僧期望年化表格”可能是一个专为理财应用设计的自定义View,用于展示投资产品的预期年化收益率。下面将详细讨论自定义View的创建过程、重要性以及如何实现一个类似“唐小僧期望年化表格”的功能...

    金诚同达:数据资产合规管理白皮书(2024).pdf

    **5.2 数据资产化与其他数据金融产品** 数据资产化是指将数据转化为可以直接创造经济价值的形式。除了数据资产化,还有其他几种数据金融产品值得关注: - 数据衍生品:基于数据产生的金融工具,如数据期权。 - 数据...

Global site tag (gtag.js) - Google Analytics