[Expat] Inhalte der Tags Attributen zuweisen...

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

  • [Expat] Inhalte der Tags Attributen zuweisen...

    sorry das ich schon wieder posten muss.
    mir ist die art und weise wie expat arbeitet noch nicht ganz klar

    es gibt drei funktionen startElement, endElement und cdata
    bei den ersten beiden kann man via if oder switch (geht das??) unterscheiden welcher tag es ist und bestimmte aktionen ausführen richtig?
    und wann kommt die funktion für text dran?
    kommt die erst danach dran wenn start element einen tag gefunden hat und springt dann wieder zurück zum start element oder so?

    hab nämlich mit dem beispiel da unten mal was zusammen gebastelt was natürlich nicht funktioniert

    Code:
     
    <?xml version="1.0" encoding="UTF-8" ?> 
    <RootElement>
    <Item>
        <Element1>Text</Element1>
        <Element2>Text</Element2>
        <Element3>Text</Element3>
        <Element4>Text</Element4>
        <SubItems>
            <SubItem>
                <Element1>Text</Element1>
                <Element2>Text</Element2>
                <Element5>Text</Element5>
            </SubItem>
            <SubItem>
                <Element1>Text</Element1>
                <Element2>Text</Element2>
                <Element5>Text</Element5>
            </SubItem>
        </SubItems>
    </Item>
    <Item>
        <Element1>Text</Element1>
        <Element2>Text</Element2>
        <Element3>Text</Element3>
        <Element4>Text</Element4>
    </Item>
    </RootElement>
    PHP-Code:
    function startElement($parser$element_name$element_attribute
    {
        
    //global $ausgabe;
        
        
    global $SingleItem;
        global 
    $SingleSubItem;
        global 
    $strInhalt;

        
    //Überprüfung des Elementnames
        
    switch(strtolower($element_name))
        {
            case 
    'item':                     $SingleItem = new Item();
                                            break;
            case 
    'bugnote':                 $SingleSubItem = new SubItem();
                                            break;
            case 
    'setElement1':                $SingleItem->setElement1($strInhalt);
                                            break;
            case 
    'setElement2':                $SingleItem->setElement2($strInhalt);
                                            break;
            case 
    'setElement3':                $SingleItem->setElement3($strInhalt);
                                            break;
            case 
    'setElement4':                $SingleItem->setElement4($strInhalt);
                                            break;    
        }
    }
    function 
    endElement($parser$element_name
    {    
        global 
    $SingleItem;
        global 
    $SingleSubItem;
        global 
    $aSubItems;
        global 
    $aItems;
        
        switch(
    strtolower($element_name))
        {
            case 
    'item':    $aItems[] = $SingleItem;
                            break;
            case 
    'subitem':    $aSubItems[] = $SingleSubItem;
                            break;    
        }
    }
    function 
    cdata($parser$element_inhalt
    {
        global 
    $strInhalt;
        
    $strInhalt $element_inhalt;

    ich hab mir dabei gedacht wenn ein tag item oder subitem gefunden wird soll ein neues objekt instanziert werden und beim schließenden tag einem array zugefügt werden.
    und wenn ein anderer tag endeckt wird (wo dann ein text drin steht) soll dieser dann dem entsprechenden attribut meines objektes zugewiesen werden....
Lädt...
X