php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.07.2007, 14:05  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard simplexml, redundante elemente und php

Hallo Leute

Ich hab ein kleines Problem und zwar handelt es sich um folgendes (Bitte nicht hauen, hab die Suchfunktion benutzt. Aber die Threads waren zu weit führend bis jetzt für mich):

Ich habe ein XML-File mit Artikeldaten nach folgendem Muster:

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Artikel>
<Unwichtig>Bla</Unwichtig>
<SehrUnwichtig>Blabla</SehrUnwichtig>
<Wichtig>Den Inhalt aus dem Feld will ich</Wichtig>
<AuchWichtig>1</AuchWichtig>
<EbenfallsWichtig>10</EbenfallsWichtig>
<Essentiell>13</Essentiell>
<SehrEssentiell>20</SehrEssentiell>
</Artikel>

<Artikel>
<Unwichtig>Bla</Unwichtig>
<SehrUnwichtig>Blabla</SehrUnwichtig>
<Wichtig>Den Inhalt aus dem Feld will ich</Wichtig>
<AuchWichtig>1</AuchWichtig>
<EbenfallsWichtig>10</EbenfallsWichtig>
<Essentiell>13</Essentiell>
<SehrEssentiell>20</SehrEssentiell>
</Artikel>

<Artikel>
<Unwichtig>Bla</Unwichtig>
<SehrUnwichtig>Blabla</SehrUnwichtig>
<Wichtig>Den Inhalt aus dem Feld will ich</Wichtig>
<AuchWichtig>1</AuchWichtig>
<EbenfallsWichtig>10</EbenfallsWichtig>
<Essentiell>13</Essentiell>
<SehrEssentiell>20</SehrEssentiell>
</Artikel>
...
...
...
Nundenn... Ich habs mittlerweile hingekriegt, dass ich mit
PHP-Code:
if (file_exists('Artikel.xml')) {
$xml simplexml_load_file('Artikel.xml');
 


echo 
$xml->Wichtig[0];
 
} else {
exit(
'Konnte Datei nicht laden.');

den Inhalt aus dem Feld auslesen kann, sofern ich nur einmal <Artikel></Artikel> drin habe. Sobald sich der Datensatz wiederholt, funktioniert das nicht mehr. Könnt ihr mir verraten warum das so ist? Wie gesagt befinde ich mich mit XML auf Neuland.

Gruss Igäl
Igäl ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.07.2007, 14:20  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Anscheinend bin ich verflucht und finde die Lösung immer in dem Moment, der kurz auf mein Posting folgt.

Hab mir mal das Objekt mit var_dump() anzeigen lassen. Damit konnte ich herausfinden, wie ich darauf zuzugreifen habe:

$xml->Artikel[x]->Wichtig;

Werd aber vermutlich noch viele weitere Fragen haben
Igäl ist offline  
Alt 13.07.2007, 17:04  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Doch noch ein kleines Problem:

echo $arr[$cnt]["BLG"] gibt folgende Ausgabe:
Code:
SimpleXMLElement Object ( [0] => 1 )
echo $arr[$cnt]["BLG"] gibt als Ausgabe "1".

PHP-Code:
for($i=12;$i>$arr[$cnt]["BLG"];$i--) {
    echo 
$i;

funktioniert nicht und ich vermute er kann $i keinen Wert zuweisen, wegen dem Object. Wie aber greif ich nun auf den Wert im innern des Objects zu? Hab grad wirklich kein Plan und steh aufm Schlauch
Igäl ist offline  
Alt 13.07.2007, 17:26  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.245
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zur Ausgangsfrage: Deinem xml Dokument fehlt das Rootelement. Mit nur einem Artikel-Zweig wird Artikel zur Wurzel des Docs. Normalerweise sollte ein guter xml Parser daran scheitern...

simple xml ist eigentlich hinreichend dokumentiert
nikosch ist gerade online  
Alt 13.07.2007, 17:28  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Naja das ist das XML-File, welches mir von MS-Access aus einer Tabelle generiert wurde. Hab ich keinen Einfluss drauf -.-" gibts ne Möglichkeit das zu bearbeiten?
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 13.07.2007, 17:31  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.245
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Echt? Wie eigeneartig...
Füge einfach hinter <?xml ...> und am Ende des Dokumentes ein beliebiges Wurzelelement ein...
nikosch ist gerade online  
Alt 13.07.2007, 17:35  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Hm... Dann hab ich einfach eine weitere Instanz die ich berücksichtigen muss. Welche Vorteile entspringen mir daraus? (Immer dieses blöde Profitdenken )
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 13.07.2007, 17:38  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.245
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Dass Du mit einer wohlgeformten XML Datei arbeitest. Wundert mich, dass der Parser die überhaupt nimmt.
nikosch ist gerade online  
Alt 13.07.2007, 17:44  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Scheint ein netter Parser zu sein

Hm... Zurzeit versuch ich aus einem XML-File ein CSV zu generieren, das in Excel eingelesen werden kann. Text sieht folgendermassen aus:

TexttextTexttextTexttextTexttextTexttextTexttextTe xttextTexttext
TexttextTexttextTexttextTexttextTexttextTexttextTe xttextTexttext

TexttextTexttextTexttextTexttextTexttextTexttext
TexttextTexttext
TexttextTexttextTexttextTexttext

Nu sollte das ganze auf eine Linie kommen und da wos ein Absatz hat, soll ein Steuerzeichen hin, das Excel dann sagt, dass ein solcher Absatz generiert werden soll. Wie mache ich sowas? Einfach statt Absatz zweimal \n einfügen?
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 13.07.2007, 19:12  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.245
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ich verstehe zwar nicht, was das mit einem csv (=kommasepariert im eigentlichen Wortsinne), geschweige denn mit dem Ausgangsthema zu tun hat, aber ansonsten: ja. Und besser unter Windows \r\n benutzen.
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP/XML: SimpleXML Zergling-new Tutorials 1 08.04.2009 00:10
SimpleXML: Doppelpunkt im Elementnamen swmsherl PHP Tipps 2008 2 01.06.2008 18:03
simplexml und media rss zeimann PHP Tipps 2008 2 21.05.2008 23:51
Welche Elemente B sind ähnlich dem Element A Anwender27 Scriptbörse 7 01.05.2008 11:45
elemente aus nem array entfernen. PHP Tipps 2005-2 2 19.10.2005 00:54
block elemente nebeneinander HTML, Usability und Barrierefreiheit 2 30.07.2005 12:12
[Erledigt] XML mit simplexml und xpath in HTML umwandeln PHP-Fortgeschrittene 3 15.07.2005 01:39
Bestimmte elemente nur zu bestimmten Daten anzeigen lassen PHP Tipps 2005-2 3 14.07.2005 14:05
[Erledigt] XML mit PHP - alles weg bis auf die veränderten Elemente? PHP-Fortgeschrittene 2 22.06.2005 18:39
einzelne elemente eines arrays gehn verloren bei "inclu PHP Tipps 2005 2 16.03.2005 23:32
[Erledigt] XML Verarbeitung mit SimpleXML PHP5 PHP-Fortgeschrittene 1 29.12.2004 11:22
[Erledigt] PHP5 bei 1&amp;1 mit simplexml,...? PHP-Fortgeschrittene 8 12.12.2004 12:08
Alle dynamisch erstellen Elemente verschicken HTML, Usability und Barrierefreiheit 3 23.09.2004 15:38
SimpleXML: Name des Root-Tags Quadaptor PHP-Fortgeschrittene 12 11.09.2004 22:49
Elemente/Nodes mit SimpleXML hinzufügen PHP-Fortgeschrittene 3 31.07.2004 00:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php redundante werte array, redundante elemente, php simplexmlelement wurzelelement auslesen, elemente redundanz, php array redundanzen entfernen, php array redundanz, php redundanzen im array, redundante elemente?, redundante seiteninhalte nicht laden, array redundante elmente, simplexml nodes herausfinden, msaccess xml parsen doppelpunkt, redundante element, redundanten elemente, php simplexml felder auslesen, redundanzen in array php

Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.