簡體   English   中英

使用xml.etree.ElementTree獲取CDATA

[英]Get CDATA using xml.etree.ElementTree

我有以下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)

你可以做 -

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

這將打印-

"HERES THE DETAILED ERROR"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM