• 21.07.2025, 14:20
  • Register
  • Login
  • You are not logged in.

 

TrOuble

God

XML & PHP -> Auslesen?

Thursday, April 27th 2006, 2:02am

Moin,

Ich such eine Möglichkeit eine bestimmte Variable aus einer xml Datei auszulesen.
Eigentlich kein Problem mit nem selbstgeschriebenden Parser ... auf den wollte ich aber verzichten, weil es sich wie gesagt nur um eine Variable handelt ...

Um es zu konkretisieren:

Source code

1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<gallery picturePath="images/gallery/architektur/1/" galleryName="Gallery Name" > 
      <image title="1 ... " source="1.jpg"/>
</gallery>

Ich will "Gallery Name" auslesen - mehr nicht.

MfG TrOuble

Ädit:
Jochen wo biste wenn man dich braucht ?! *g*

Y0Gi

God

Re: XML & PHP -> Auslesen?

Thursday, April 27th 2006, 2:40am

Entweder mit regulären Ausdrücken oder mit meinem XML Parser und folgendem Code (nicht 100% sicher, aber könnte schon so klappen):

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
require_once('XmlParser.class.php');

class XmlLinkParser extends XmlParser
{
  function handle_gallery($attr, $cdata)
  {
    return $attr['galleryName'];
  }

  function handle_image($attr, $cdata)
  {
    return '';
  }
}

$parser = new XmlLinkParser();
$galleryName = $parser->parseString('<?xml version="1.0" encoding="UTF-8"?>
<gallery picturePath="images/gallery/architektur/1/" galleryName="Gallery Name" >  
  <image title="1 ... " source="1.jpg"/>
</gallery>');
echo $galleryName;
?>

Aber das wäre wohl schon von hinten durch die Brust ins Auge. Mit direkter Nutzung von xml_set_element_handler sollte das noch einiges kürzer, aber immer noch nach XML-Manier gehen.

Am schönsten wäre wohl mit XPath, aber dafür muss man erstmal die serverseitige Unterstützung dafür haben. In Python mit ElementTree würde das etwa so aussehen:

Source code

1
print ET.fromstring('<?xml ... >').find('gallery').get('galleryName')

This post has been edited 1 times, last edit by "Y0Gi" (Jan 22nd 2013, 4:22am)

TrOuble

God

Re: XML & PHP -> Auslesen?

Thursday, April 27th 2006, 7:15pm

Danke habs hinbekommen :)