ubuntuusers.de

Kompliziertes Dokument parsen mit libxml2

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Radfahrer1

Anmeldungsdatum:
26. Oktober 2008

Beiträge: 20

Hallo zusammen,

ich versuche gerade ein relativ kompliziertes Dokument mit libxml2 zu parsen. Ich habe mir die verschiedenen APIs (tree, reader, xpath usw.) angeschaut und die Bespiele ausprobiert. Aber die sind alle für sehr einfache Documente gemacht. Mein Dokument enthält aber sehr viele Verzweigungen und ich habe keine Idee wie ich das sinnvoll parsen kann. Die Geschwindigkeit ist auch relativ wichtig da der Vorgang sehr oft wiederholt werden muss.

Hier ist ein vereinfachter Ausschnitt:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0"?>
<dCache xmlns="http://www.dcache.org/2008/01/Info">
  <summary>
    <linkgroup>
      <blanket-auth>
        <by-VO>
          <VO name="atlas">
            <linkgroups>
              <linkgroupref lgid="1290003"/>
              <linkgroupref lgid="380814"/>

              <linkgroupref lgid="2403670"/>
            </linkgroups>
          </VO>
        </by-VO>
      </blanket-auth>
    </linkgroup>
    <pools>
      <space>
        <metric name="total" type="integer">511194523762688</metric>

        <metric name="free" type="integer">421232010380019</metric>
        <metric name="precious" type="integer">546040178640</metric>
        <metric name="removable" type="integer">408381202236</metric>
        <metric name="used" type="integer">89962513382669</metric>
      </space>
    </pools>

ich versuche im Moment erstmal die summary/pools/space/metric auszulesen.

Die space und metric tags kommen dabei sehr oft vor und ich muss deshalb die parents der Elemente überprüfen.

Hat jemand eine gute Idee wie ich das am einfachsten mache?

Vielen Dank schonmal

DasIch

Avatar von DasIch

Anmeldungsdatum:
2. November 2005

Beiträge: 1130

Mit xpath ist dass ziemlich einfach /dCache/summary/pools/space//metric

Radfahrer1

(Themenstarter)

Anmeldungsdatum:
26. Oktober 2008

Beiträge: 20

Ja xpath sieht eigentlich recht einfach aus und ich werde es mal so probieren.

So ich habe es nun geschafft endlich ein Ergebnis mit xpath zu bekommen. Das mit den namespaces ist ja echt umständlich 😮

Antworten |