Viktor's Supportboard
Quickmenü
» Start
» Portal
» Kontakt
» Mitglieder
» Team

» Handy-Ansicht


Usermenü

» Registrieren

Login
Benutzername:
Passwort:

(Passwort vergessen?)

Database
» Database

Lizenzshop/Verwaltung
» Lizenzshop/Verwaltung


Allgemeines
» Themen der letzen 24 Stunden
» Beiträge von Heute
» Aktuelle Umfragen
» Themen als gelesen markieren
» Themen ohne Antwort

» F.A.Q
» Regeln
» Impressum
» Datenschutzerklärung

» Linkliste
» Partner
» Statistik

Kostenplichtige Hacks
» VG-Lizenz
» VG-Fotowettbewerb
» VG-Kontaktanzeige
» VG-Literatur-Verwaltung
» VGTreffen/Dater
» VGMusik/Video

Mein Hacks
» VGUser-Leaflet-Map
» VGUser-Google-Map
» VGClub-Map-Google
» User-Map
» Club-Map
» User-Locator
» Club-Locator
» Mitglieder Bilderupload
» VGOnlineList
» Teamspeak Onlineanzeige

Meine Banner
» Meine Banner

Statistik
Beiträge: 138.428 (Täglich: 23,66 )
Themen: 16.136
Mitglieder: 13.152
Neuestes Mitglied: thluckert.
Ausl. d. letzten Minute: 185%
Ausl. d. letzten 5 Minuten: 185%
Ausl. d. letzten 15 Minuten: 193%
Freier Webspace: 1.99 TB
PHP-Version: 7.1.11

Spenden

Partner
Mein Supportboard

MySQLDumper

Forum für Angehörige und Freunde von Krebspatienten

Wetter-Board

Make your Webserver

ABC-des Essens

IC-Netforum

ultimate-funultimate-fun

Steinadler-Bastelstübchen

Webseitenschutz

Werben

Viktor's Supportboard » Programmieren » MySQL und PHP » [Hilfe gesucht] Array zu XML (PHP) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Array zu XML (PHP)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Fornax   Zeige Fornax auf Karte Fornax ist männlich
wBB2-User


images/avatars/avatar-221.gif

Zeige Fornax auf Karte
Dabei seit: 27.09.2005
Beiträge: 132
0 Filebase-Einträge
Alter: 29 Jahre
Herkunft: Rodgau
wBB-Version: wBB2.3

Bewertung: 
1 Bewertung(en) - Durchschnitt: 10,00

Level: 34 [?]
Erfahrungspunkte: 670.224
Nächster Level: 677.567

7.343 Erfahrungspunkt(e) für den nächsten Levelanstieg



Text Array zu XML (PHP) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hallo!
Ich habe eine (eingentlich mehrere Dateien) mit einem Array. Insgesammt sind das um die 800 Zeilen. Das Array hat bis zu 6 Dimensionen, und die will ich jetzt in eine XML-Datei schreiben. Die erstem 50 Zeilen habe ich noch mit Hand gemacht, aber mit wäre ein Script lieber. Ich habe schon bei Google gesucht, aber fast passendes gefunden, nur, wie man aus XML-Dateien ein Array bastelt. Das einzig passende was ich gefunden habe geht aber nur mit einer Dimension unglücklich

Kennt ihr ein Script, das Arrays in XML-Daten konvertiert?
10.02.2006 15:39 Fornax ist offline E-Mail an Fornax senden Homepage von Fornax Beiträge von Fornax suchen Nehmen Sie Fornax in Ihre Freundesliste auf Fügen Sie Fornax in Ihre Kontaktliste ein Germany
Fornax   Zeige Fornax auf Karte Fornax ist männlich
wBB2-User


images/avatars/avatar-221.gif

Zeige Fornax auf Karte
Dabei seit: 27.09.2005
Beiträge: 132
0 Filebase-Einträge
Alter: 29 Jahre
Herkunft: Rodgau
wBB-Version: wBB2.3

Bewertung: 
1 Bewertung(en) - Durchschnitt: 10,00

Level: 34 [?]
Erfahrungspunkte: 670.224
Nächster Level: 677.567

7.343 Erfahrungspunkt(e) für den nächsten Levelanstieg

Themenstarter Thema begonnen von Fornax


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hab's mir selber gemacht großes Grinsen

In meinem Fall sieht das dann so aus:
php:
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:
28:
29:
30:
31:
32:
33:

<?php
header("Content-type: text/xml");
echo("<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>");
echo("<einheiten>");

$name "Bisanu";
$config["einheiten"][$name]["forschung"]["rumpf"]               = 2;
$config["einheiten"][$name]["forschung"]["panzerung"]           = 2;
$config["einheiten"][$name]["forschung"]["antriebstechnologie"] = 1;
$config["einheiten"][$name]["forschung"]["nanotechnologie"]     = 2;
$config["einheiten"][$name]["forschung"]["laser"]               = 1;
$config["einheiten"][$name]["forschung"]["plasma"]              = 2;
$config["einheiten"][$name]["forschung"]["weltraumdock"]        = 2;

ausgabe($config["einheiten"]);

function ausgabe($arr$name=""$sonstig=""){
    foreach($arr AS $name => $value){
        echo("<{$name} {$sonstig}>");
        if(is_array($value)){
            ausgabe($value$name);
        }
        else{
            echo($value);
        }
        echo("</{$name}>");
    }
}

echo("</einheiten>");
?>
10.02.2006 17:04 Fornax ist offline E-Mail an Fornax senden Homepage von Fornax Beiträge von Fornax suchen Nehmen Sie Fornax in Ihre Freundesliste auf Fügen Sie Fornax in Ihre Kontaktliste ein Germany
Viktor   Zeige Viktor auf Karte Viktor ist männlich
Administrator


images/avatars/avatar-15762.jpg

Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 29.893
363 Filebase-Einträge
Alter: 62 Jahre
Herkunft: NRW
wBB-Version: wBB2.3
PHP-Version: 7.1.11
MySQL-Version: 5.5.59-0+deb8u1
Wo bist du gehostet?: eigener Server

Bewertung: 
279 Bewertung(en) - Durchschnitt: 9,47

Level: 68 [?]
Erfahrungspunkte: 174.910.693
Nächster Level: 176.283.333

1.372.640 Erfahrungspunkt(e) für den nächsten Levelanstieg



Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hallo,

super das es hin bekommen hast. Freude

Mit den Array und dann auch noch mehrere Dimensionen habe ich immer so meine Probleme. unglücklich

Das dann auch noch sortieren. traurig traurig

Gruß
Viktor Augenzwinkern

__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.


... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!


Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.

10.02.2006 20:11 Viktor ist offline E-Mail an Viktor senden Homepage von Viktor Beiträge von Viktor suchen Nehmen Sie Viktor in Ihre Freundesliste auf Germany
Fornax   Zeige Fornax auf Karte Fornax ist männlich
wBB2-User


images/avatars/avatar-221.gif

Zeige Fornax auf Karte
Dabei seit: 27.09.2005
Beiträge: 132
0 Filebase-Einträge
Alter: 29 Jahre
Herkunft: Rodgau
wBB-Version: wBB2.3

Bewertung: 
1 Bewertung(en) - Durchschnitt: 10,00

Level: 34 [?]
Erfahrungspunkte: 670.224
Nächster Level: 677.567

7.343 Erfahrungspunkt(e) für den nächsten Levelanstieg

Themenstarter Thema begonnen von Fornax


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Zum sortieren hab ich ne grute funkton gefunden, die kann ich dir aber frühestens am Mo posten, da ich heute und morgen nur wenig Zeit für meinenn PC habe traurig

EDIT:
Die funktion habe ich etwas erweitert & verbesert, das poste ich dann auch

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Fornax: 11.02.2006 12:37.

11.02.2006 12:37 Fornax ist offline E-Mail an Fornax senden Homepage von Fornax Beiträge von Fornax suchen Nehmen Sie Fornax in Ihre Freundesliste auf Fügen Sie Fornax in Ihre Kontaktliste ein Germany
Viktor   Zeige Viktor auf Karte Viktor ist männlich
Administrator


images/avatars/avatar-15762.jpg

Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 29.893
363 Filebase-Einträge
Alter: 62 Jahre
Herkunft: NRW
wBB-Version: wBB2.3
PHP-Version: 7.1.11
MySQL-Version: 5.5.59-0+deb8u1
Wo bist du gehostet?: eigener Server

Bewertung: 
279 Bewertung(en) - Durchschnitt: 9,47

Level: 68 [?]
Erfahrungspunkte: 174.910.693
Nächster Level: 176.283.333

1.372.640 Erfahrungspunkt(e) für den nächsten Levelanstieg



Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Zitat:
Original von Fornax
Zum sortieren hab ich ne grute funkton gefunden, die kann ich dir aber frühestens am Mo posten, da ich heute und morgen nur wenig Zeit für meinenn PC habe traurig

EDIT:
Die funktion habe ich etwas erweitert & verbesert, das poste ich dann auch


Hallo,

super so eine Funktion kann man immer gebrauchen. Freude

Gruß
Viktor Augenzwinkern

__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.


... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!


Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.

11.02.2006 20:55 Viktor ist offline E-Mail an Viktor senden Homepage von Viktor Beiträge von Viktor suchen Nehmen Sie Viktor in Ihre Freundesliste auf Germany
Fornax   Zeige Fornax auf Karte Fornax ist männlich
wBB2-User


images/avatars/avatar-221.gif

Zeige Fornax auf Karte
Dabei seit: 27.09.2005
Beiträge: 132
0 Filebase-Einträge
Alter: 29 Jahre
Herkunft: Rodgau
wBB-Version: wBB2.3

Bewertung: 
1 Bewertung(en) - Durchschnitt: 10,00

Level: 34 [?]
Erfahrungspunkte: 670.224
Nächster Level: 677.567

7.343 Erfahrungspunkt(e) für den nächsten Levelanstieg

Themenstarter Thema begonnen von Fornax


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

array2xml.php
php:
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:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:

<?php
header("Content-type: text/xml");
echo("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
echo("<einheiten>\n\n"); //Das root-Element öffnen

$deep 0;
$nodeep false;

/* Die Fuktion deep ist dafür zuständig, dass im Quelltext die Elemente richtig eingerückt werden.
Das ist nützlich, wenn man den Quelltext kopieren und bearbeiten will. */

function deep(){
    global $deep;
    global $nodeep;
    
    if($nodeep == false){
        echo("\n");
        $i 0;
        while($i $deep){
            $i++;
            echo("\t");
        }
    }
}


/* Hier wird aus dem Array eine XML-Datei erstellt.
Die Übergabevariablen sind $arr=Das auszugebene Array.
Die anderen Parameter werden nur fürden rekrusiven Aufruf benötigt.
$name ist der Name des Elementes, $sonstig wird hinter den Namen gehängt
Beispiel: $name = "foo"; Ausgabe: "<foo>".
Oder: $name = "bar"; $sonstig = "id=\"2\""; Ausgabe:  "<bar id="2">"

Die Funktion habe ich für meine Zwecke angepasst,
evtl. müsst ihr was verändern, um sie benutzen zu können. */

function ausgabe($arr$name=""$sonstig=""$name_alt=""){
    global $deep;
    global $nodeep;
    $name_alt $name;

    //Das übergebene Array wird durchgegangen
    foreach($arr AS $name => $value){

/* Wenn der Element-Name eine Zahl ist, soll das Element so heißen
wie ihr Vorgänger, und als id ihren eigentlichen Namen haben */
        if(is_int($name)){ 
            $sonstig "id=\"{$name}\"";
            $name $name_alt;
        }
        
/* Es wird die Einrückung ausgegeben, dann der Element-Name
(kleingeschrieben!!!) und dann der Anhang ($sonstig) */
        echo(deep($deep) . "<" strtolower($name) . {$sonstig}>");
        
/* Wenn der eigentliche Inhalt kein Array ist,
wird auf die Einrückung verzichtet. */
        if(!is_array($value)){
            $nodeep true;
        }
        
//Es wird eine weitere Tiefe (für die Einrückung) hinzugefügt
        $deep++;
/* Wenn der Inhalt ein Array ist, wird er diese Funktion wieder
aufgerufen, und so ihr Inhalt auch ausgeben */
        if(is_array($value)){
            ausgabe($value$name""$name_alt);
        }
        else{ //Wenn nicht, wird ihr Inhalt so ausgegeben
            echo("{$value}");
        }
        $deep--; //Und eine Tiefe für die Einrückung wegenommen
//Und dann das Element geschlossen
        echo(deep($deep) . "</" strtolower($name) . ">\n");
        $nodeep false;
    }
}


// -------------------------------- //

/* Das Array $config holen, es befindet sich in der
Datei data.php. Siehe unten... */

include("data.php"); 

ausgabe($config["einheiten"]); // Das Array als XML ausgeben



echo("</einheiten>"); //Das root-Element schließen
?>






data.php
php:
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:
/* Das hier ist ein Komisches Beispiel, es liegt daran,
dass ich ein Browsergame programmiere.
Das hier ist z.B. das 2. schlechteste Schiff */

$name "Bisanu";

$config["einheiten"][$name]["forschung"]["Rumpf"]               = 2;
$config["einheiten"][$name]["forschung"]["Panzerung"]           = 2;
$config["einheiten"][$name]["forschung"]["Antriebstechnologie"] = 1;
$config["einheiten"][$name]["forschung"]["Nanotechnologie"]     = 2;
$config["einheiten"][$name]["forschung"]["Laser"]               = 1;
$config["einheiten"][$name]["forschung"]["Plasma"]              = 2;
$config["einheiten"][$name]["forschung"]["Weltraumdock"]        = 2;

//Waffen 

$config["einheiten"][$name]["waffe"]["anzahl"] = 2;

$config["einheiten"][$name]["waffe"][1]["disabled"]             = "false";
$config["einheiten"][$name]["waffe"][1]["eisen"]                = 20;
$config["einheiten"][$name]["waffe"][1]["oel"]                  =  5;
$config["einheiten"][$name]["waffe"][1]["wasser"]               =  5;
$config["einheiten"][$name]["waffe"][1]["kristalle"]            =  5;
$config["einheiten"][$name]["waffe"][1]["adamantinium"]         =  0;
$config["einheiten"][$name]["waffe"][1]["dauer"]                =955// In Sekunden

=> Das gibt folgende Ausgabe:
[code]
<?xml version="1.0" encoding="ISO-8859-1"?>
<einheiten>

<Bisanu>
<forschung>
<rumpf>2</rumpf>
<panzerung>2</panzerung>
<antriebstechnologie>1</antriebstechnologie>
<nanotechnologie>2</nanotechnologie>
<laser>1</laser>
<plasma>2</plasma>
<weltraumdock>2</weltraumdock>
</forschung>
<waffe>
<anzahl>2</anzahl>
<waffe id="1">
<disabled>false</disabled>
<eisen>20</eisen>
<oel>5</oel>
<wasser>5</wasser>
<kristalle>5</kristalle>
<adamantinium>0</adamantinium>
<dauer>955</dauer> <!-- in Sekunden -->

<angriff>15</angriff>
<gewicht>15</gewicht>
</waffe>
</waffe>
</einheiten>
[code]


Und hier das Script zum sortieren:

array_advancedsort.php
php:
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:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:

<html>
<head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   
<title>Das L&ouml;sungsskript array_advancedsort</title>
<link rel="stylesheet" type="text/css" href="../cookbook.css">
</head>
<body>
<h1>array_advancedsort.php</h1>
<div class="programlisting">
<?php 
function aasort(&$array$args) 
{ 
    $args array_reverse($args); 
    foreach($args as $arg) 
   { 
        $temp_array $array; 
        $array = array(); 
        $order_key substr($arg1strlen($arg)); 
        foreach($temp_array as $index => $nirvana)
      {
         $sort_array[$index] = $temp_array[$index][$order_key]; 
      }
        ($arg[0] == "+") ? (asort($sort_array)) : (arsort($sort_array)); 
        foreach($sort_array as $index => $dummy) 
      {
         $array[$index] = $temp_array[$index]; 
      }
    } 
} 
$myarray[] = array("Name" => "Clemens""Alter" => "11"); 
$myarray[] = array("Name" => "J&ouml;rg""Alter" => "37"); 
$myarray[] = array("Name" => "Anton""Alter" => "23"); 
$myarray[] = array("Name" => "Anton""Alter" => "13");

aasort($myarray, array("+Name""-Alter"));  
echo '<pre>';
print_r($myarray);
echo '</pre>';
?>
</div><hr noshade><?php
$sub_dir "";
$filename "array_advancedsort.php";
include_once("../showsource.php");
?>
</body></html>
12.02.2006 11:57 Fornax ist offline E-Mail an Fornax senden Homepage von Fornax Beiträge von Fornax suchen Nehmen Sie Fornax in Ihre Freundesliste auf Fügen Sie Fornax in Ihre Kontaktliste ein Germany
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Viktor's Supportboard » Programmieren » MySQL und PHP » [Hilfe gesucht] Array zu XML (PHP)

Impressum | Datenschutz | Fast-Index

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab® GmbH Design © Tine

Valid XHTML 1.0! Valid CSS! Die letzten Themen Die letzten Beiträge © für wbb2 by Bandy & cback.de Geblockte Angriffe: 3.089
Seo Sidemap Powert by 2Clubradio.de
Viktor's Supportboard, ist " Online " seit 16 Jahren, 7 Tage, 5 Stunden, 25 Minuten und 8 Sekunden