XML in Array

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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]

    Comment


    • #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
      Last edited by Cappo; 16-09-2009, 16:05.

      Comment


      • #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]

        Comment


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



          MfG
          Cappo

          Comment


          • #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]

            Comment


            • #7
              Aha...so oder wie?

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

              Comment


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

                Shitstorm Podcast – Wöchentliches Auskotzen

                Comment


                • #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]

                  Comment


                  • #10
                    Originally posted by unset View Post
                    Bitte das XML umbrechen oder kürzen. Danke :-)
                    Done! Sorry...

                    Originally posted by AmicaNoctis View Post
                    Nee, mit int natürlich

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

                    MfG
                    Cappo

                    Comment

                    Working...
                    X