Hi all, I am relatively new to python and certainly new to XML parsing. Can some show me how to get the product text out of this? Really I want to know this has 2 processors and the are AMD Opteron(tm) Processor 250
I have gotten this far... class HWParser: def __init__(self): if os.path.isfile(LSHW): lshw=Exec.Exec(LSHW) lshw.execute('-xml') else: print "lshw does not exist", LSWH return "Unknown" self.data = lshw.read() self.error = lshw.error() self.exit = lshw.poll() if self.error: print "Error Exist", self.error return else: self.xml = minidom.parseString(self.data) self.xml.normalize() def p (self): print self.xml.toxml() If anyone can help me out that would be great! --- <?xml version="1.0" standalone="yes" ?> <!-- generated by lshw-B.02.03 --> <!-- GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-42) --> <node id="cpu:0" claimed="true" class="processor" handle="DMI:0005"> <description>CPU</description> <product>AMD Opteron(tm) Processor 250</product> <vendor>Advanced Micro Devices [AMD]</vendor> <physid>5</physid> <businfo>[EMAIL PROTECTED]</businfo> <version>15.5.10</version> <slot>CPU0</slot> <size units="Hz">2400000000</size> <capacity units="Hz">3000000000</capacity> <width units="bits">64</width> <clock units="Hz">1600000000</clock> <capabilities> <capability id="fpu" >mathematical co-processor</capability> <capability id="fpu_exception" >FPU exceptions reporting</capability> <capability id="wp" /> <capability id="vme" >virtual mode extensions</capability> <capability id="de" >debugging extensions</capability> <capability id="pse" >page size extensions</capability> <capability id="tsc" >time stamp counter</capability> <capability id="msr" >model-specific registers</capability> <capability id="pae" >4GB+ memory addressing (Physical Address Extension)</capability> <capability id="mce" >machine check exceptions</capability> <capability id="cx8" >compare and exchange 8-byte</capability> <capability id="apic" >on-chip advanced programmable interrupt controller (APIC)</capability> <capability id="sep" >fast system calls</capability> <capability id="mtrr" >memory type range registers</capability> <capability id="pge" >page global enable</capability> <capability id="mca" >machine check architecture</capability> <capability id="cmov" >conditional move instruction</capability> <capability id="pat" >page attribute table</capability> <capability id="pse36" >36-bit page size extensions</capability> <capability id="clflush" /> <capability id="mmx" >multimedia extensions (MMX)</capability> <capability id="fxsr" >fast floating point save/restore</capability> <capability id="sse" >streaming SIMD extensions (SSE)</capability> <capability id="sse2" >streaming SIMD extensions (SSE2)</capability> <capability id="syscall" >fast system calls</capability> <capability id="nx" >no-execute bit (NX)</capability> <capability id="mmxext" >multimedia extensions (MMXExt)</capability> <capability id="x86-64" >64bits extensions (x86-64)</capability> <capability id="3dnowext" >multimedia extensions (3DNow!Ext)</capability> <capability id="3dnow" >multimedia extensions (3DNow!)</capability> </capabilities> </node> <node id="cpu:1" claimed="true" class="processor" handle="DMI:0006"> <description>CPU</description> <product>AMD Opteron(tm) Processor 250</product> <vendor>Advanced Micro Devices [AMD]</vendor> <physid>3</physid> <businfo>[EMAIL PROTECTED]</businfo> <version>15.5.10</version> <slot>CPU1</slot> <size units="Hz">2400000000</size> <capacity units="Hz">3000000000</capacity> <width units="bits">64</width> <clock units="Hz">1600000000</clock> <capabilities> <capability id="fpu" >mathematical co-processor</capability> <capability id="fpu_exception" >FPU exceptions reporting</capability> <capability id="wp" /> <capability id="vme" >virtual mode extensions</capability> <capability id="de" >debugging extensions</capability> <capability id="pse" >page size extensions</capability> <capability id="tsc" >time stamp counter</capability> <capability id="msr" >model-specific registers</capability> <capability id="pae" >4GB+ memory addressing (Physical Address Extension)</capability> <capability id="mce" >machine check exceptions</capability> <capability id="cx8" >compare and exchange 8-byte</capability> <capability id="apic" >on-chip advanced programmable interrupt controller (APIC)</capability> <capability id="sep" >fast system calls</capability> <capability id="mtrr" >memory type range registers</capability> <capability id="pge" >page global enable</capability> <capability id="mca" >machine check architecture</capability> <capability id="cmov" >conditional move instruction</capability> <capability id="pat" >page attribute table</capability> <capability id="pse36" >36-bit page size extensions</capability> <capability id="clflush" /> <capability id="mmx" >multimedia extensions (MMX)</capability> <capability id="fxsr" >fast floating point save/restore</capability> <capability id="sse" >streaming SIMD extensions (SSE)</capability> <capability id="sse2" >streaming SIMD extensions (SSE2)</capability> <capability id="syscall" >fast system calls</capability> <capability id="nx" >no-execute bit (NX)</capability> <capability id="mmxext" >multimedia extensions (MMXExt)</capability> <capability id="x86-64" >64bits extensions (x86-64)</capability> <capability id="3dnowext" >multimedia extensions (3DNow!Ext)</capability> <capability id="3dnow" >multimedia extensions (3DNow!)</capability> </capabilities> </node> -- http://mail.python.org/mailman/listinfo/python-list