`
iluoxuan
  • 浏览: 580338 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于XmlUtil操作xml生成的类的设计------xml生成方法实现

 
阅读更多

前面,就实现了单例没有把具体的方法写出来,因为操作xml生成,是key-vlaue模式;从数据库到封装xml文件XmlUtil工具类是必不可少的:

 

package com.xmlutil;

import java.util.Map;

/**
 * xml操作类
 * @author lijunqing 定义xml的格式为<ROOT></ROOT>
 */
public class XmlUtil {

    private static XmlUtil xmlUtil=null;

    private XmlUtil() {

    }

    public synchronized static XmlUtil getInstance() {
        if(xmlUtil == null) {
            xmlUtil=new XmlUtil();
        }
        return xmlUtil;
    }

    public String getXmlHeader() {
        String xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?><ROOT></ROOT>";
        return xml;
    }

    public String insertXmlSec(String xml, Map<String, String> mapInfo) {
        String key=null;
        String value=null;
        String result=xml;
        for(Map.Entry<String, String> entry: mapInfo.entrySet()) {
            key=entry.getKey();
            value=entry.getValue();
            result=insertXmlSec(result, key, value);
        }
        return result;
    }

    /**
     * 单个key value 插入 在xml的root根元素后插入xml元素
     * @param xml
     * @param key
     * @param value
     * @return
     */
    public String insertXmlSec(String xml, String key, String value) {
        String[] xmlsec=xml.split("><");
        String result=xmlsec[0] + "><" + xmlsec[1] + ">";
        StringBuffer xmlKey=new StringBuffer();
        xmlKey.append("<").append(key.toUpperCase()).append(">");
        xmlKey.append(value).append("</").append(key.toUpperCase()).append(">");
        result=result + xmlKey.toString();
        for(int i=2; i <= xmlsec.length - 1; i++) {
            if(i == xmlsec.length - 1) {
                result=result + "<" + xmlsec[i];
            } else {
                result=result + "<" + xmlsec[i] + ">";
            }
        }
        return result;
    }
}

 测试案例:

 

package com.test;

import java.util.HashMap;
import java.util.Map;

import org.junit.Test;

import com.xmlutil.XmlUtil;

public class TestXmlSec {

    @Test
    public void TestInsertXmlSec() {
        XmlUtil xmlUtil=XmlUtil.getInstance();
        String xml=xmlUtil.getXmlHeader();
        System.out.println(xml);
        String result=xmlUtil.insertXmlSec(xml, "USERNAME", "君子邪");
        result=xmlUtil.insertXmlSec(result, "USERNAME", "君子邪");
        result=xmlUtil.insertXmlSec(result, "USERNAME", "君子邪");
        System.out.println(result);
    }

    @Test
    public void TestinsertXmlSecByMap() {
        XmlUtil xmlUtil=XmlUtil.getInstance();
        String xml=xmlUtil.getXmlHeader();
        System.out.println(xml);
        Map<String, String> mapInfo=new HashMap<String, String>();
        mapInfo.put("TIME", "89:00");
        mapInfo.put("ID", "1");
        xml=xmlUtil.insertXmlSec(xml, mapInfo);
        System.out.println(xml);
    }
}

 

 结果:

<?xml version="1.0" encoding="UTF-8"?><ROOT></ROOT>
<?xml version="1.0" encoding="UTF-8"?><ROOT><USERNAME>君子邪</USERNAME><USERNAME>君子邪</USERNAME><USERNAME>君子邪</USERNAME></ROOT>
<?xml version="1.0" encoding="UTF-8"?><ROOT></ROOT>
<?xml version="1.0" encoding="UTF-8"?><ROOT><ID>1</ID><TIME>89:00</TIME></ROOT>
 
分享到:
评论

相关推荐

    Java操作XML工具类XmlUtil详解

    Java操作XML工具类XmlUtil详解 ...XmlUtil工具类提供了许多实用的方法来操作XML文件,包括输出XML文件、生成XML和新建Xml节点等。这些方法可以帮助我们更方便地操作XML文件,提高开发效率和质量。

    xml转javaBean,javaBean转xml,xml标签大小写问题,以及对xml特殊符号的处理

    在生成XML时,需要确保正确转义这些字符;在解析XML时,解析器会自动解码这些实体。 总结,XML与JavaBean之间的转换是Java开发中的常见操作,理解XML的大小写规则、特殊符号处理和CDATA的使用对于编写健壮的XML处理...

    flex xml 生成

    5. **动态XML生成**:在Flex应用中,常常需要根据运行时的数据动态生成XML。例如,从服务器获取数据后,可以将其转换为XML,然后展示在Flex界面中: ```actionscript var data:Object = {name:"John", age:30}; var ...

    XML解析与生成工具

    本工具包可能实现了这两种解析方式,DOM方法适用于需要快速查找和修改数据的情况,而SAX方法则适合于内存有限或需要高效流式处理的场景。通过这个工具,开发者可以轻松地读取XML文件,获取其中的元素、属性和文本...

    xml转对象封装的简单与复杂xml的转化写法

    2. **XML到对象的转换**:在Java中,可以通过JAXB(Java Architecture for XML Binding)或者自定义解析方法实现XML到对象的转换。JAXB是Java标准,能够自动将XML映射到Java类,反之亦然。而使用JDOM则需要手动编写...

    desktop and xmlutil

    标题“desktop and xmlutil”指的是一个关于桌面应用与XML处理工具的主题,这通常涉及到Java编程中的XML解析。在Java中,XMLUtil是一个常见的类名,用于封装XML文档的读写和操作逻辑。这篇博客(博文链接:...

    Groovy 动态修改XML

    def updatedXmlStr = groovy.xml.XmlUtil.serialize(xml) xml.write(new File('updated.xml')) ``` 在实际应用中,Groovy的这种XML处理方式特别适用于需要动态生成或修改XML配置文件、与XML格式的数据交互或者...

    xml+MD5.rar

    XML工具类在编程中常用于解析、创建或操作XML文档,比如提取特定数据、验证数据格式等。 MD5,全称消息摘要算法第五版,是由Ron Rivest开发的一种单向散列函数。它将任意长度的数据转化为固定长度的输出,通常是32...

    flex 读XML 写XML 并保存为文件

    四、由图生成XML文件 在Flex中,如果你有一个图形(如流程图),可能需要将其转换为XML以便于存储和恢复。这通常涉及到序列化和反序列化的过程。可以使用自定义的序列化函数将图形对象转换为XML,然后保存为文件。...

    xml解析java源代码

    在实际应用中,`XmlUtil.java`的实现可能还会包含一些自定义的配置,例如忽略某些字段不写入XML,或者自定义XML节点的命名规则。同时,它可能还会有错误处理机制,确保在XML解析过程中遇到问题时能正确处理。 总之...

    读写xml文件

    首先,我们看到有多个源文件和头文件,如XmlParser.cpp、XML_Node.cpp、XmlStream.cpp等,这些文件很可能包含了实现XML操作的核心类和方法。`XmlParser`可能是一个解析器类,负责将XML字符串或文件转化为内存中的...

    Test3 xml

    这个工具类可能包括解析XML文档、生成XML、查询XML节点、更新XML内容等功能。 让我们深入探讨XML处理的一些关键知识点: 1. **XML结构**:XML文档由一系列元素组成,每个元素有开始标签、结束标签和可能的属性。...

    java中xml和excel的基本操作

    在Java编程中,XML(Extensible Markup Language)和Excel是两种常见的数据处理格式。...文件中的ExcelUtils.java、ExcelUtil.java和XmlUtil.java可能是实现这些功能的工具类,你可以参考它们来进一步学习和应用。

    Android开发中解析xml文件XmlUtils工具类与用法示例

    本文实例讲述了Android开发中解析xml文件XmlUtils工具类与用法。分享给大家供大家参考,具体如下: 1. xmlUtil工具类 package com.example.xmlpaserutil.util; import java.io.InputStream; import java.lang....

    ibatis UPDATE 动态XML与insert

    至于压缩包中的"Ibaitis_Oracle10_XmlUtil.java"文件,虽然没有具体的内容,但我们可以推测这可能是一个与Oracle数据库配合使用的MyBatis工具类,用于处理XML相关的操作,比如动态生成XML配置文件或者解析XML数据。...

    MapToXMLAndXMLToJson.zip

    通过XMLUtil和StandaloneWriter,我们可以高效地处理Map与XML以及XML与JSON之间的相互转化,这对于数据交换、接口设计、数据存储等方面都有重要的应用价值。理解和掌握这些工具的使用,能够提升开发效率,减少数据...

    C#实现Xml序列化与反序列化的方法

    这篇教程主要讲解了如何在C#中实现XML序列化与反序列化,并将相关方法封装到一个名为`XmlUtil`的类中。 首先,`GetRoot`方法用于获取XML字符串中的根元素的文本内容。它创建了一个`XmlDocument`对象,加载XML字符串...

    支付相关包.rar

    XMLUtil可能包含了解析和生成XML文档的方法,用于处理支付相关的配置信息、交易详情等。它可能使用了如Java的DOM、SAX或StAX解析器来处理XML数据。 在Java开发中,这些工具类扮演着重要角色,简化了支付系统的复杂...

    XmlUtil.zip_Java编程_Java_

    总的来说,Java的XML处理功能强大而灵活,无论是解析、操作还是生成XML,都有相应的API支持。通过深入理解这些API,开发者能够有效地处理各种XML任务,如配置文件读写、数据交换、XML文档验证等。在"XmlUtil.java"中...

    PayUtil.rar

    最后,`MD5Utils.java`文件是关于MD5加密的工具类,MD5常用于生成消息摘要,确保数据的完整性和一致性。在支付领域,MD5可能用于生成预支付交易的签名,防止数据被篡改。开发者需要理解MD5的原理,知道如何生成和...

Global site tag (gtag.js) - Google Analytics