XML in Array

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML in Array

    Hi,
    habe mal wieder was mit XML am Hals. Wollte fragen warum folgender code nicht funktioniert:

    PHP-Code:
                foreach($xml->category as $category) {
                  foreach(
    $category->question as $question) {
                    
                    
    $topQuestions[$question->title] = $question->attributes()->count;              

                  }
                }
                
    var_dump($topQuestions); 
    das var_dump() gibt nur folgendes zurück:

    Code:
    array(0) { }
    hab leider keine Ahnung woran das liegt. Hoffe Ihr könnt mir helfen!

    MfG
    Cappo

  • #2
    Hallo Cappo,

    ohne die zugehörige XML-Datei und den gesamten relevanten Code ist es schwierig, zu helfen.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      oh ja sorry^^.

      Code:
      <?xml version="1.0" encoding="UTF-8"?>
      <root>
      
        <category id="1">
          <title>Registrierung</title>
          <question id="1" count="0">
            <title>Wo?</title>
            <answer>test</answer>
          </question>
          <question id="2" count="0">
            <title>Wie?</title>
            <answer>so2!</answer>
          </question>
        </category>
        
        <category id="2">
          <title>Erweitere Suche</title>
          <question id="1" count="0">
            <title>Wo?2</title>
            <answer>hier!</answer>     
          </question>
          <question id="2" count="0">
            <title>Wie?2</title>
            <answer>so!</answer>
          </question>    
        </category>
        
        <category id="3">
          <title>Benutzerprofil</title>
          <question id="1" count="0">
            <title>Wo?3</title>
            <answer>test</answer>  
          </question>
          <question id="2" count="0">
            <title>Wie?3</title>
            <answer>so2!</answer>
          </question>
        </category>
      
        <category id="4">
          <title>Benutzergruppen</title>
          <question id="1" count="0">
            <title>Wo?4</title>
            <answer>test</answer>
          </question>
          <question id="2" count="0">
            <title>Wie?4</title>
            <answer>so2!</answer> 
          </question>
        </category>
      
        <category id="5" >
          <title>Persönliche Nachrichten</title>
          <question id="1" count="0">
            <title>Wo?5</title>
            <answer>test</answer>
          </question>
          <question id="2" count="0">
            <title>Wie?5</title>
            <answer>so2!</answer>      
          </question>
        </category>
        
      
      </root>
      is nur ne test xml datei im moment
      Zuletzt geändert von Cappo; 16.09.2009, 17:05.

      Kommentar


      • #4
        Code:
        foreach($xml->category as $category) {
          foreach($category->question as $question) {
        	
        	$topQuestions[[B][COLOR="Red"](string)[/COLOR][/B] $question->title] = $question->attributes()->count;              
        
          }
        }
        var_dump($topQuestions);
        Achso, du hast vergessen, auf string zu casten.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Ohaaa...okay Danke. Wusste nicht das man das machen muss.^^



          MfG
          Cappo

          Kommentar


          • #6
            Muss man bei SimpleXML dauernd. Eventuell musst du auch den Attributwert von count auf int casten. Wenn du bei SimpleXML nicht castest, kriegst du immer ein weiteres SimpleXML-Objekt zurück.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Aha...so oder wie?

              PHP-Code:
              $topQuestions[(string) $question->title] = (count$question->attributes()->count
              MfG
              Cappo

              Kommentar


              • #8
                Bitte das XML umbrechen oder kürzen. Danke :-)
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar


                • #9
                  Nee, mit int natürlich

                  Code:
                  $topQuestions[(string) $question->title] = [COLOR="Red"][B](int)[/B][/COLOR] $question->attributes()->count;
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Zitat von unset Beitrag anzeigen
                    Bitte das XML umbrechen oder kürzen. Danke :-)
                    Done! Sorry...

                    Zitat von AmicaNoctis Beitrag anzeigen
                    Nee, mit int natürlich

                    Code:
                    $topQuestions[(string) $question->title] = [COLOR=Red][B](int)[/B][/COLOR] $question->attributes()->count;
                    ja dann.....thx

                    MfG
                    Cappo

                    Kommentar

                    Lädt...
                    X