Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 02. April 2011 07:42

richter
probiert CMS/ms aus
Registriert: 31. März 2011
Beiträge: 28

*Gelöst* CMSms - XML MS

Hallo CMSms-Gemeinde,

ich bin Webmaster einer Verwaltungsseite und möchte da XML MS anwenden um einen Teil aus einer XML-Datei herauslesen.

<pre>{$xml|print_r}</pre> ergab:

SimpleXMLElement Object
(
    [row] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 1
                            [Kreisname] => Prignitz
                            [wb_id] => 2
                            [nextwb_id] => 2
                        )

                )

            [1] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 2
                            [Kreisname] => Ostprignitz-Ruppin
                            [wb_id] => 1
                            [nextwb_id] => 1
                        )

                )

            [2] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 3
                            [Kreisname] => Oberhavel
                            [wb_id] => 2
                            [nextwb_id] => 2
                        )

                )

            [3] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 4
                            [Kreisname] => Uckermark
                            [wb_id] => 3
                            [nextwb_id] => 3
                        )

                )

            [4] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 5
                            [Kreisname] => Havelland
                            [wb_id] => 2
                            [nextwb_id] => 2
                        )

                )

            [5] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 6
                            [Kreisname] => Barnim
                            [wb_id] => 3
                            [nextwb_id] => 3
                        )

                )

            [6] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 7
                            [Kreisname] => Potsdam-Mittelmark u.
Städte
Potsdam/Brandenburg
                            [wb_id] => 2
                            [nextwb_id] => 2
                        )

                )

            [7] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 8
                            [Kreisname] => Märkisch-Oderland
                            [wb_id] => 3
                            [nextwb_id] => 3
                        )

                )

            [8] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 9
                            [Kreisname] => Teltow-Fläming
                            [wb_id] => 2
                            [nextwb_id] => 2
                        )

                )

            [9] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 10
                            [Kreisname] => Dahme-Spreewald
                            [wb_id] => 2
                            [nextwb_id] => 2
                        )

                )

            [10] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 11
                            [Kreisname] => Oder-Spree und 
Stadt Frankfurt/Oder
                            [wb_id] => 3
                            [nextwb_id] => 3
                        )

                )

            [11] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 12
                            [Kreisname] => Elbe-Elster
                            [wb_id] => 2
                            [nextwb_id] => 2
                        )

                )

            [12] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 13
                            [Kreisname] => Oberspreewald-Lausitz
                            [wb_id] => 2
                            [nextwb_id] => 2
                        )

                )

            [13] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 14
                            [Kreisname] => Spree-Neiße und
Stadt Cottbus
                            [wb_id] => 3
                            [nextwb_id] => 3
                        )

                )

        )

)

Ich möchte jedoch nur

[10] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => 11
                            [Kreisname] => Oder-Spree und 
Stadt Frankfurt/Oder
                            [wb_id] => 3
                            [nextwb_id] => 3
                        )

                )

abfragen.

Hat vielleicht jemand einen Tipp, wie das gehen soll, es handelt sich hier offenbar nicht um eine "normal" strukturierte XML-Datei.


Hier der Link zur Datei:

Link

Würde mich über Vorschläge freuen.

MfG

richter

Beitrag geändert von richter (04. April 2011 05:57)

Offline

#2 02. April 2011 11:58

nhaack
Server-Pate
Ort: Bonn
Registriert: 12. Dezember 2010
Beiträge: 171
Webseite

Re: *Gelöst* CMSms - XML MS

Willst du mit Smarty oder PHP da ran?

Per PHP geht das in etwa so:

[== php ==]

$attribute = $xml->row[10]->attributes();
echo $attribute['wb_id'];

Hoffe das hilft dir weiter.

Grüße
Nils

P.s.: willst du an die einzelnen Attribute der Einträge ran oder nur an einen einzelnen Eintrag aus der Datei?

Beitrag geändert von nhaack (02. April 2011 12:13)

Offline

#3 03. April 2011 14:22

richter
probiert CMS/ms aus
Registriert: 31. März 2011
Beiträge: 28

Re: *Gelöst* CMSms - XML MS

Hey,

erstmal vielen Dank für deine Antwort.

Möchte nur an das Attribute "wb_id" des row 10, mir wäre es lieber mit Modul = XML Made Simple & Smarty.


Ein UDT kann ich mir aber auch vorstellen, ist ja gehupft wie gesprungen, meiner Meinung nach.
Per UDT müsste ich aber die externe XML erst laden (holen) oder?

Smarty-Call mit XML MS:

{cms_module module="XMLMadeSimple" feed_id="1"} -> url "http://www.luis-bb.de/f/wb_warn/daten.aspx"

Template:

?? > muss ich erst basteln -> foreach-Schleife (Mittel aus Forum) > denke ich.

Bin weiterhin für Tipps und Denkanstöße dankbar.

Ansonsten noch einen schönen Sonntag

Offline

#4 03. April 2011 15:30

nhaack
Server-Pate
Ort: Bonn
Registriert: 12. Dezember 2010
Beiträge: 171
Webseite

Re: *Gelöst* CMSms - XML MS

In Smarty müsstest du an die einzelne Zeile wie folgt ran kommen (kenne das XML Modul nicht)

<pre>{$xml->row[10]|print_r}</pre>

Der Tricky-Part an deinem Beispiel ist, dass du nicht einfach nur einen Knoten möchtest, sondern an ein Attribut ran möchtest.

Ich weißt nicht, ob sowas geht:
{$xml->row[10]->@attributes.wb_id}

Ansonsten könntest du das einzelne XML "row" Element aber auch an ein kompaktes Plugin/UDT übergeben.

[== php ==]

$xml = $params['xml_array_element'];
$attribute = $xml->attributes();
echo $attribute['wb_id'];

Der gesamte Aufruf sieht dann in etwa so aus:

{cms_module module="XMLMadeSimple" feed_id="1"}
{mein_udt xml_array_element=$xml->row[10]}

Obige Code-Beispiele alle nicht verifiziert, aber mal als Ideenanstoß.
Hoffe es hilft weiter.

Grüße
Nils

Offline

#5 04. April 2011 05:55

richter
probiert CMS/ms aus
Registriert: 31. März 2011
Beiträge: 28

Re: *Gelöst* CMSms - XML MS

Hey hey,

hat geklappt ^^.

Vielen Dank

Offline