<?xml version="1.0" encoding="utf-8" ?>
<coverages>
<coverage>
<Type>total</Type>
<Name>0</Name>
<TotalLine>1</TotalLine>
<EffectiveLine>2</EffectiveLine>
<Covered>3</Covered>
<Cover>4</Cover>
</coverage>
</coverages>
#coding:utf-8
import os
import codecs
import traceback
import xml.dom.minidom as minidom
def covert_to_unicode(msg):
__re_str = None
if isinstance(msg, unicode):
__re_str = msg
elif isinstance(msg, str):
try:
__re_str = msg.decode('gbk')
except Exception, errinfo:
raise Exception, '%s, %s' % (errinfo, str(msg))
else:
raise Exception, '%s 必须为str或unicode类型' % msg
return __re_str
#print covert_to_unicode('哈哈')
class CreateCovXml():
def __init__(self, cov_xml_path):
self.cov_xml_path = cov_xml_path
self.__dom = None
self.__root = None
def _covert_code(self, msg):
return covert_to_unicode(msg)
def __create_new_node(self, node_name, node_text=None):
if self.__dom == None:
raise Exception, '创建结点时,document对象还不存在'
if None == node_text:
return self.__dom.createElement(self._covert_code(node_name))
else:
newNode = self.__dom.createElement(self._covert_code(node_name))
newText = self.__dom.createTextNode(self._covert_code(node_text))
newNode.appendChild(newText)
return newNode
def begin_cov(self):
try:
impl = minidom.getDOMImplementation()
self.__dom = impl.createDocument(None, u'coverages', None)
self.__root = self.__dom.documentElement
except:
traceback.print_exc()
raise Exception, '创建coverage xml根结点失败'
def add_cov(self, type, name, total_line, effective_line, covered_line, cover_rate):
if self.__root == None:
raise Exception, '创建结点时,root结点不存在或对象不存在'
type_node = self.__create_new_node('Type', type)
name_node = self.__create_new_node('Name', name)
total_line_node = self.__create_new_node('TotalLine', total_line)
effective_line_node = self.__create_new_node('EffectiveLine', effective_line)
covered_line_node = self.__create_new_node('Covered', covered_line)
cover_rate_node = self.__create_new_node('Cover', cover_rate)
new_coverage_node = self.__create_new_node('coverage')
new_coverage_node.appendChild(type_node)
new_coverage_node.appendChild(name_node)
new_coverage_node.appendChild(total_line_node)
new_coverage_node.appendChild(effective_line_node)
new_coverage_node.appendChild(covered_line_node)
new_coverage_node.appendChild(cover_rate_node)
self.__root.appendChild(new_coverage_node)
def end_cov(self):
try:
f = open(self.cov_xml_path, 'wb')
writer = codecs.lookup('utf-8')[3](f)
self.__dom.writexml(writer, encoding='utf-8')
writer.close()
f.close()
return True
except Exception, err:
traceback.print_exc()
raise Exception, '写xml文件出错'
if __name__ == '__main__':
os.chdir("E:\\PyWk\\nodepad_py")
test = CreateCovXml('cov.xml')
test.begin_cov()
test.add_cov(type="total", name='0', total_line='1', effective_line='2', covered_line='3', cover_rate='4')
test.end_cov()
print 'endl'
分享到:
相关推荐
这个名为"用python生成xml参数和SQL.zip"的压缩包文件似乎包含了一系列与使用Python来生成XML参数和SQL语句相关的代码。下面将详细讨论这些知识点。 1. **XML(可扩展标记语言)**: XML是一种用于存储和传输数据...
Python 生成 XML 是一个常见的需求,特别是在数据交换、配置文件创建或者存储结构化数据时。XML(可扩展标记语言)是一种用于标记数据的语言,它的结构清晰、可读性强,易于机器解析和生成。Python 提供了多种库来...
### Python生成XML文件与字符编码理解 #### 一、Python生成XML文件 在现代Web开发中,XML(可扩展标记语言)是一种非常重要的数据交换格式。它被广泛应用于配置文件、数据传输等领域。使用Python来生成XML文件可以...
本文实例讲述了使用Python生成XML的方法。分享给大家供大家参考,具体如下: 1. bookstore.py #encoding:utf-8 ''' 根据一个给定的XML Schema,使用DOM树的形式从空白文件生成一个XML。 ''' from xml.dom.minidom ...
以上就是使用Python生成XML时规定DTD实例的方法。需要注意的是,在创建复杂的XML结构时,了解DTD的详细规则,以及如何正确地在Python代码中使用元素声明和属性声明,是非常重要的。通过实践操作,开发者可以更加熟练...
由于生成excel,所以没必要让用户选择xml文件,默认对指定文件夹下的所有的XML文件进行转换,并把转换得到的Excel放在指定文件夹。 运行时可以双击.py文件(看不到具体log); 或者按住shift同时鼠标右键,选择在此处...
以上代码实现了从XML文件解析数据,并使用Python生成一个包含彩色效果的Excel文档。在实际应用中,你可以根据需求调整数据处理和样式设置部分,以满足特定的业务需求。例如,可以根据XML元素的属性或文本内容来决定...
5. **自动生成代码**:最后,这个自动化工具可能还会包含一个功能,用于自动生成上述过程中的Qt类和绑定代码,这样开发者只需要专注于XML结构,无需关心底层的解析逻辑。 通过这种方式,开发者可以更专注于业务逻辑...
对于XML文件,Python内置了`xml.etree.ElementTree`模块,它提供了解析和生成XML文档的功能。对于Excel文件,我们可以使用pandas库,它支持读写Excel文件,并且在处理表格数据时非常强大。 1. **读取XML文件**: ...
在Python编程中,生成XML文件是一项常见的任务,用于存储结构化数据。XML(可扩展标记语言)是一种类似于HTML的语言,但其主要目的是传输和存储数据,而非显示数据。它的设计原则是具有自我描述性,因此使得数据易于...
本话题主要关注如何根据XML模板自动生成XML文件,这通常涉及到数据库操作、数据处理以及XML文件的构建过程。下面我们将深入探讨这个主题。 首先,XML模板是一个预定义的结构,它包含了所需生成XML文件的基本框架,...
Python 中的 XML 工具可以帮助语法分析、处理和生成 XML。关于 XML,要记住一个总体概念:可以验证或非验证方式处理 XML 文档。 Python 中的 XML 工具可以分为两类:验证型和非验证型。验证型工具可以验证 XML 文档...
描述中提到的"使用Python生成寄存器",意味着Python被用作实现这个工具的主要编程语言。Python因其简洁的语法、丰富的库支持和跨平台性而被广泛采用。在生成寄存器相关的代码和文档时,Python的灵活性和强大的文本...
然而,根据上下文,它可能包含用于生成或解析XML的代码,或者可能是用于与亚马逊API交互的示例。在Python环境中,如果需要使用Java代码,可以借助`subprocess`模块来调用Java虚拟机执行Java代码,或者使用`Jython`,...
例如,我就找不到中国人写的如何使用PYTHON来创建一个XML文件。当然,直接用文件写的方式也能够达到同样的效果,但是毕竟容易出错,而且看起来不优雅。最后,我看了很多资料,终于明白如何使用PYTHON写一个XML文件了...
Python的ElementTree库是处理XML的主要工具,它支持XML的解析、创建和序列化。 “Scripts 和 Streams”是指Python脚本和流处理。Python脚本可以直接运行,而流处理通常涉及读写网络或文件系统中的数据流。 ...
在这个"XML-RPC.rar"压缩包中,包含了一系列Python实现的XML-RPC相关文件,包括server.py、readfile.py、client.py和D_H.py,这些都是实现XML-RPC服务端和客户端功能的关键代码。 首先,我们来看`server.py`。这个...