使用 xml.etree.ElementTree 获取 CDATA [英] Get CDATA using xml.etree.ElementTree

查看:57
本文介绍了使用 xml.etree.ElementTree 获取 CDATA的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 xml:

<?xml version="1.0" ?>
<testsuite errors="1" failures="0" name="test" tests="1" time="3.393">
        <testcase classname="test" name="case time="3.393">
                <error message="'test' object has no attribute 'test'" type="AttributeError">
<![CDATA["HERES THE DETAILED ERROR"]]>             </error>
        </testcase>
        <system-out>
<![CDATA["ANOTHER TEXT"]]>
 </system-out>
        <system-err>
<![CDATA[]]>    </system-err>
</testsuite>

我有以下解析代码:

tree = ET.parse("test-reports/{0}".format(resultfile))
test = tree.getroot()
for child in test:
    if child.tag == "testcase":
        if child.find("error") is not None:
            state = 2
            # How do I get <error>s CDATA here?
        else:
            state = 1

我将如何获得标签内的 CDATA 文本(第一个 CDATA)

How would I achieve getting the CDATA text inside the tag (the first CDATA)

推荐答案

你可以这样做 -

ertag = child.find("error")
cdatatext = ertag.text
print(cdatatext)

这将打印 -

"HERES THE DETAILED ERROR"

这篇关于使用 xml.etree.ElementTree 获取 CDATA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆