Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的XML解析器_Python_Xml Parsing - Fatal编程技术网

python中的XML解析器

python中的XML解析器,python,xml-parsing,Python,Xml Parsing,我是Python新手。我试图用python解析下面的XML,以获得测试摘要 <?xml version="1.0"?> <SquishReport version="2.1"> <test name="HMI_testing"> <prolog time="2013-01-18T14:41:09+05:30"/> <test name="tst_case1"> <prolog time="2013-

我是Python新手。我试图用python解析下面的XML,以获得测试摘要

<?xml version="1.0"?>
<SquishReport version="2.1">
  <test name="HMI_testing">
    <prolog time="2013-01-18T14:41:09+05:30"/>
    <test name="tst_case1">
      <prolog time="2013-01-18T14:41:09+05:30"/>
      <verification name="VP5" file="D:/Squish/HMI_testing/tst_case1/test.py" type="properties" line="6">
        <result time="2013-01-18T14:41:10+05:30" type="PASS">
          <description>VP5: Object property comparison of ':_QMenu_3.enabled' passed</description>
          <description type="DETAILED">'false' and 'false' are equal</description>
          <description type="object">:_QMenu_3</description>
          <description type="property">enabled</description>
          <description type="failedValue">false</description>
        </result>
      </verification>
      <epilog time="2013-01-18T14:41:11+05:30"/>
    </test>
    <test name="tst_Setup_Menu"> <prolog time="2013-01-18T14:41:11+05:30"/>
      <verification name="VP1" file="D:/Squish/HMI_testing/tst_Setup_Menu/test.py" type="screenshot" line="6">
        <result time="2013-01-18T14:41:12+05:30" type="PASS">
          <description>VP1: Screenshot comparison of ':_QMenu_3' passed</description>
          <description type="DETAILED">Screenshots are considered identical</description>
          <description type="object">:_QMenu_3</description>
          <description type="failedImage">Screenshots are considered identical</description>
        </result>
      </verification>
      <verification name="VP2" file="D:/Squish/HMI_testing/tst_Setup_Menu/test.py" type="screenshot" line="8">
        <result time="2013-01-18T14:41:16+05:30" type="FAIL">
          <description>VP2: Screenshot comparison of ':_QMenu_3' failed</description>
          <description type="DETAILED">Screenshots do not match. Differing screenshot saved as 'D:/Squish/HMI_testing/tst_Setup_Menu/verificationPoints\failedImages\failed_1.png'</description>
          <description type="object">:_QMenu_3</description>
          <description type="failedImage">D:/Squish/HMI_testing/tst_Setup_Menu/verificationPoints\failedImages\failed_1.png</description>
        </result>
      </verification>
      <verification name="VP3" file="D:/Squish/HMI_testing/tst_Setup_Menu/test.py" type="screenshot" line="9">
        <result time="2013-01-18T14:41:20+05:30" type="PASS">
          <description>VP3: Screenshot comparison of ':_QMenu_4' passed</description>
          <description type="DETAILED">Screenshots are considered identical</description>
          <description type="object">:_QMenu_4</description>
          <description type="failedImage">Screenshots are considered identical</description>
        </result>
      </verification>
      <epilog time="2013-01-18T14:41:28+05:30"/>
    </test>
    <epilog time="2013-01-18T14:41:28+05:30"/>
  </test>
</SquishReport>

我想做的是,从第一个“test”标记中提取“HMI_testing”,从xml文件中提取“test name”tst_case1,并通过/失败我建议使用Xpath,我已经使用过多次,而且总是很方便和有用的: . 它也很容易使用。

而不是

variable = elem[0].firstChild.data
使用

您找的不是子元素,而是属性
name

variable = elem[0].firstChild.data
variable = elem[0].getAttribute('name')