Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: DomDocument und XML ( Häää? Wie gehtn das? )
« vorherige 1 [2]
erste ungelesene Seite | letzter Beitrag 
Meister Zopf

meister_zopf
 
Zitat von Gori
[b]Tag,

ich acker grad mein Script um. Dazu steck ich meine Sprachdateien in xml und möchte die gern per Dom dann auslesen.

 
Code:
$doc = DOMDocument::load('languages/german.xml');
$xpath = new DOMXPath($doc);
    
foreach ($xpath->query('language/listings/todo/heading') as $heading)
{
    echo $heading->nodeValue;
}





Der XPath müsste afaik mit / anfangen, falls du vom Root ausgehts.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Meister Zopf am 24.09.2006 20:47]
24.09.2006 20:46:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Netbeater

snow
 
Zitat von Meister Zopf

Der XPath müsste afaik mit / anfangen, falls du vom Root ausgehts.



könntest du bitte wenigstens den Thread lesen bevor du irgendwelche sinnlose Kacke hier spamst?
24.09.2006 20:57:13  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
TriggerTG

TriggerTG
Das geht auch freundlicher zu sagen, Herr Netbeater.
25.09.2006 7:13:16  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gori

Gori
Ok back to my problem please Augenzwinkern
25.09.2006 10:05:47  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Netbeater

snow
 
Zitat von Gori
So, habe ein neues Problem.

Ich lade eine statische XML-Datei in mein DomDoc.
Jetzt möchte ich aber einer bestimmten Node ein Attribut geben.

 
Code:
<languages>
    <german>Deutsch</german>
    <english>English</english>
</languages>


Soll verändert werden in:

 
Code:
<languages>
    <german selected="1">Deutsch</german>
    <english>English</english>
</languages>



Ich muss die Node sicher selecten mit getElementsByTagName und dann mit setAttribute das Attribut einfügen, aber ich krieg das einfach nicht gebacken



was genau geht denn an der Version nicht? Bekommst du die Node erst garnicht mit getElementsByTagName() oder funktioniert setAttribute nicht oder funktioniert scheinbar alles nur dass du am Ende kein entsprechendens Attribut im XML hast?

Ich hab hier leider keine Moeglichkeit es zu testen, sieht aber prinzipiell richtig aus. Wenn du das am Ende in deinem XML haben willst, musst du das DomDocument natuerlich wieder speichern.
25.09.2006 11:59:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
unitrialer

Arctic
code wär cool Augenzwinkern
25.09.2006 16:35:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gori

Gori
uahh, habs etwas schleifen lassen und arbeite an einer anderen lösung als bisher.

dazu müsste ich wissen wie ich 2 Strings mit xpath vergleiche fröhlich

habe also 2 Nodes wo das gleiche drinn steht und mit xsl:when test="blbla" abfrage, geht das irgendwie?

Denn xsl:when test="node1=node2" geht nischt
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Gori am 17.10.2006 15:06]
17.10.2006 15:05:30  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
ppopn

ppopn
 
Zitat von Gori
Peacemaker, wo is dein Konzept?

*wart*

Oder habt ihr das schon "Privat" geregelt? traurig
17.10.2006 15:16:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gori

Gori
nop, bisher net

 
Code:
<select class="select" name="Sys_Language">
    <xsl:for-each select="language/options/generalSettings/languages/language">
        <xsl:choose>
            <xsl:when test="current() = ../../../../../system/sys_language">
                <option selected="selected">
                    <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute>1<xsl:value-of select="."/>
                </option>
            </xsl:when>
            <xsl:otherwise>
                <option>
                    <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute>2<xsl:value-of select="."/>
                </option>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:for-each>
</select>
[Dieser Beitrag wurde 5 mal editiert; zum letzten Mal von Gori am 17.10.2006 16:18]
17.10.2006 15:27:24  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Meister Zopf

meister_zopf
...
 
Zitat von Netbeater
 
Zitat von Meister Zopf

Der XPath müsste afaik mit / anfangen, falls du vom Root ausgehts.



könntest du bitte wenigstens den Thread lesen bevor du irgendwelche sinnlose Kacke hier spamst?



Genau das war der Fehler den er gemacht hat du Gehirngünther.
17.10.2006 19:51:20  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Netbeater

snow
 
Zitat von Meister Zopf
 
Zitat von Netbeater
 
Zitat von Meister Zopf

Der XPath müsste afaik mit / anfangen, falls du vom Root ausgehts.



könntest du bitte wenigstens den Thread lesen bevor du irgendwelche sinnlose Kacke hier spamst?



Genau das war der Fehler den er gemacht hat du Gehirngünther.



Ja, nur ging es zu dem Zeitpunkt um etwas komplett anderes und wenn du den Thread gelesen hättest, wüsstest du das.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Netbeater am 17.10.2006 20:40]
17.10.2006 20:32:27  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Meister Zopf

meister_zopf
froehlich grinsen
Jo stimmt. Aber wenn ich zu faul bin den Thread zu lesen, ist es wohl besser, die Antwort steht doppelt drinn als gar nicht.
18.10.2006 13:06:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gori

Gori
Habs inzwischen mit den Augen rollend
19.10.2006 14:20:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gori

Gori
So, nächstes Problem:

Ich habe versucht meiner XML-Klasse eine Funktion zu spendieren die ein XML-File oder String an eine Node anhängt.

Ich bin da auf eine kleine Schwierigkeit gestossen und zwar wie ich eine eindeutige Node selecte.

Beispiel:

 
Code:
<project>
    <lala>
        <project>Thor</project>
    </lala>
</project>


Mit meiner Funktion kriege ich project und lala selektiert, aber das project in lala kriege ich nicht.
Kann ich bei getElementsByTagName irgendwie auch XPath selecten?

Meine Funktion:
 
Code:
        public function appendToNode($xmlNode, $xml, $loadFromFile)
        {
            if ($loadFromFile)
            {
                $loadedXML = DOMDocument::load($xml);
            }
            else
            {
                $loadedXML = DOMDocument::loadXML($xml);
            }
            
            $node = $this->dom->getElementsByTagName($xmlNode)->item(0);
            
            $node->appendChild($this->dom->importNode($loadedXML->getElementsByTagName('*')->item(0), true));
        }


Der Aufruf:

 
Code:
$this->xmlHandler->appendToNode('project', '<test>test</test>', 'test', 0);
[Dieser Beitrag wurde 4 mal editiert; zum letzten Mal von Gori am 23.10.2006 14:56]
23.10.2006 14:46:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
FoxHunter

foxhunter2
Ich poste hier mal ganz dreist rein, weil ich mein eigenes Problem mit DOM+XUL hab.

Erstelle ich meine Tabelle dynamisch mittels javascript + createElement("td/tr/..."), dann werden alle Zeilen nebeneinander dargestellt statt untereinander.
Wenn ich aber meine dynamisch generierte Tabelle aus dem DOM Inspector in meine html/xul reinpaste und die Seite lade, ist plötzlich alles in Ordnung.
Also:
- dynamische Tabelle statisch in der xul: okay
- dynamische Tabelle dynamisch in der xul: Reihen nebeneinander

Was soll das? Mata halt...
23.10.2006 14:55:37  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gori

Gori
wird das wirklich in dieser Reihenfolge geschrieben:

createElement("td/tr/...")

und nicht

createElement("tr/td/...") ?
23.10.2006 14:58:20  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
unitrialer

Arctic
 
Zitat von FoxHunter
Ich poste hier mal ganz dreist rein, weil ich mein eigenes Problem mit DOM+XUL hab.

Erstelle ich meine Tabelle dynamisch mittels javascript + createElement("td/tr/..."), dann werden alle Zeilen nebeneinander dargestellt statt untereinander.
Wenn ich aber meine dynamisch generierte Tabelle aus dem DOM Inspector in meine html/xul reinpaste und die Seite lade, ist plötzlich alles in Ordnung.
Also:
- dynamische Tabelle statisch in der xul: okay
- dynamische Tabelle dynamisch in der xul: Reihen nebeneinander

Was soll das? Mata halt...


benutzt du den Firebug? Schau dir mal das erzeugte XHTML an. Ansonsten installier dir den Firebug! Breites Grinsen
23.10.2006 16:38:33  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
FoxHunter

foxhunter2
Habs, createElementNS() statt createElement() Kopf gegen die Wand schlagen

Schließlich ist es in XUL ja <html:tr> statt <tr>, allerdings wollte er noch die Deklaration dabeihaben.
23.10.2006 20:40:55  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gori

Gori
Also niemand ne Idee? Augenzwinkern
27.10.2006 15:07:38  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: DomDocument und XML ( Häää? Wie gehtn das? )
« vorherige 1 [2]

mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
dom  xml  xsl  xslt 
| tech | impressum