使用Metadata简化表数据向XML形式转化的实现
使用Metadata简化表数据向XML形式转化的实现
如果需要将表数据转化为XML形式数据的话,如果我们使用Spring的JDBC Template,那么常需要做的工作是创建一个RowMapper匿名类,在其中将字段与领域对象的某个属性匹配上,然后得到领域对象链表形式的结果,此后展开这个集合,再将字段转化为XML数据,其中进行了两次名称和值之间的匹配,硬编码较多,比较费时间。如果我们利用Metadata(Metadata是解释数据的数据,如果我们的研究对象是表格中的数据,那么表头就是表格中数据的Metadata)则可以有效简化这一过程。
下面先看需求,有一个emp雇员表,表中包括id,姓名name,年龄age和地址addr四个字段,如下所示:
我们需要把表中的记录取出并变成如下格式的字符串:
<employees>
<employee>
<id>1</id>
<name>andy</name>
<age>31</age>
<address>54435454</address>
</employee>
<employee>
<id>2</id>
<name>bill</name>
<age>32</age>
<address>rwerewrqeqw</address>
</employee>
<employee>
<id>3</id>
<name>cindy</name>
<age>33</age>
<address>342554345</address>
</employee>
<employee>
<id>4</id>
<name>douglas</name>
<age>34</age>
相关文档:
四种XML解析方法
xml文件:
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE>
<NO>A1234</NO>
<ADDR>四川省XX县XX镇XX路X段XX号</ADDR>
</VALUE>
<VALUE>
<NO>B1234</NO>
<ADDR>四川省XX市XX乡XX村XX组</ADDR>
</VALUE>
</RESULT>
1)DOM
& ......
xml -声明-引发的异常
XML 声明 [XML 标准]
XML 声明通常在 XML 文档的第一行出现。XML 声明不是必选项,但是如果使用 XML 声明,必须在文档的第一行,前面不得包含任何其他内容或空白。
文档映射中的 XML 声明包含下列内容:
版本号 <?xml version="1.0"?>。
这是必选项。尽管以后的 XML 版本可能会更改该 ......
写一个XML文件 TinyXML 是一个mini的C++ XML解析库,它是非验证的,它可以很容易的集成到其他的程序中.它解析一份XML doc,以此创建一个可以被读、写,保存的DOM.它主要的类层次架构,函数原形详细说明参看: http://www.grinninglizard.com/tinyxml/index.html
// 以下以简单的程序TinyXMLTest为例 TinyXML中最根本的就是Docu ......
xml文件为:
<?xml version="1.0" encoding="UTF-8"?>
<mobile-list>
<mobile type="Nokia2652">
<wap2>false</wap2>
<width>115</width>
</mobile>
<mobile type="Nokia2650">
<wap2>false</wa ......
<%
'
Set http=Server.CreateObject("Microsoft.XMLHTTP")
http.Open "GET","http://127.0.0.1/1.xml",False
http.send
Dim xml
Set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = False
'xml.load (Server.MapPath("1.xml")) '如果不是远程文件直接这一步
xml.Load(http.ResponseXML)
Dim t ......