XML eines blogs auslesen

nahuel

Mitglied
Hallo erstmal , also ich bin AS Neuling und wie jeder Neuling hab ich mehr Probleme als Ahnung dewegen folgendes:

wie kann ich so ein xml einlesen und als Text wieder ausgeben?

Ich hab mir die Tutorials angeschaut aber da sind immer nur beispiele mit sehr einfachen xml Datein die ich auch halbwegs verstanden hab nur durch die xml vom weblog blick ich garnicht durch!

danke für die hilfe!
n
 
Hi,

da hilft nur durchbeissen - ich selber finde die xml Implementation von Flash nicht sonderlich logisch, aber vielleicht liegt das auch nur daran, das ich es bisher noch nicht allzu häufig benötigt habe....

einfach mal die Foren ( auch http://www.flashforum.de ) durchsuchen, du findest massig ressourcen - und dann wirst du nicht drumherum kommen die AS Referenz zu diesem Thema einer eingehenden Lektüre zu unterziehen.


Grüsse
B
 
also ich habs mal so versucht vielleicht kann mir ja jemand helfen wo der fehler liegt?
er bleibt immer bei data loadet hängen!

PHP:
urlXML = new XML();
urlXML.onLoad = convertXML;

content_feed_display = "Loading data...";
urlXML.load("http://myblog.de/rss.php?blog=mikimoto");


function convertXML() {
	if(this.loaded) {
		content_feed_display = "Data loaded.";
	}
	mainTag = new XML;
	elementTag = new XML;
	articleList = new Array;
	elementList = new Array;

	mainTag = this.firstChild;
	
	if(mainTag.nodeName.toLowerCase() == "rdf:RDF") {
		
		articleList = mainTag.childNodes;
		
		content_feed_display = "";
		for(i=0;i<=articleList.length;i++){
			
			description = "";
			dc:date = "";
			if(articleList[i].nodeName.toLowerCase() == "item") {
				
				elementList = articleList[i].childNodes;
				
				for(j=0;j<=elementList.length;j++) {
					elementTag = elementList[j];
					elementType = elementTag.nodeName.toLowerCase();
					if(elementType == "dc:date"){
							dc:date = elementTag.firstChild.nodeValue;
					} else {
						if(elementType == "description"){
							description = elementTag.firstChild.nodeValue;
						}
				
					}			
				}
			content_feed_display += "<font size=\"+2\">"+description+"</font><font size=\"-1\">"+ dc:date +" </font>";	
			} 
		}
	
	
	}
	
	

}

danke

//edit: denn code ausgebessert weil eine klammer fehlte (fehler beim strg+c))
 
Zuletzt bearbeitet:
so ich weiss dsa doppelposts nicht erlaubt sind aber in diesem fall hatt sich so viel verändert das es nicht mehr zum letzten post passt aber trozdem noch in den gleichen thread so der code schaut jetzt so aus:
PHP:
urlXML = new XML();
urlXML.ignoreWhite = true;
urlXML.onLoad = convertXML;
content_feed_display = "Loading data...";
urlXML.load("http://myblog.de/rss.php?blog=mikimoto");

function convertXML() {
    if (this.loaded) {
        content_feed_display = "Data loaded.";
    }
    elementTag = new XML();
    articleList = new Array();
    elementList = new Array();
    mainTag = this.firstChild;

    if (mainTag.nodeName.toLowerCase() == "rdf:rdf") {
        articleList = mainTag.childNodes;

        content_feed_display = "";
        
        for (i=0; i<=articleList.length; i++) {
            description = "";
            date = "";
            if (articleList[i].nodeName.toLowerCase() == "item") {
                elementList = articleList[i].childNodes;
                for (j=0; j<=elementList.length; j++) {
                    elementTag = elementList[j];
                    elementType = elementTag.nodeName.toLowerCase();
                    trace(elementType)
                    if (elementType == "dc:date") {
                        date = elementTag.firstChild.nodeValue;
                    } else {
                        if (elementType == "description") {
                            description = elementTag.firstChild.nodeValue;
                        }
                    }
                }
                content_feed_display += "<font size=\"+2\">"+description+"</font><font size=\"-1\">"+date+" </font>";
            }
        }
    }
}

aber funktioniert noch immer nicht!
hmm wahrscheinlich weil das wort date(und das ist von flash reserviert) vorkommt aber das kann ich nicht ändern weil das xml nicht von mir sonderen automatisch von einem blog generiert wird!

deswegen hab ich mich entschlossen den blog zu wechseln und wollte wissen (das ist jetzt die eigentliche frage):

wie ich in ein weiteres unterkapitel komme weil ich ja bei diesem
PHP:
<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <!--  Newsfeed by feedCMS - http://feedCMS.webstyle-times.de 
  --> 
- <rss version="2.0">
- <channel>
  <title>Demo-feed</title> 
  <link>http://feedcms.webstyle-times.de/blog.php?user=demo</link> 
  <description>hallo welt.</description> 
- <image>
  <url>http://feedcms.webstyle-times.de//skin/transparent.gif</url> 
  <title>Demo-feed</title> 
  <link>http://feedcms.webstyle-times.de/blog.php?user=demo</link> 
  </image>
  <pubDate>Mon, 9 Aug 2004 22:53:44 +0200</pubDate> 
  <generator>feedCMS by feedCMS.webstyle-times.de</generator> 
- <item>
  <title>RSS-Test test test</title> 
  <link>http://feedcms.webstyle-times.de/visit-1522</link> 
  <description><p /><font size="3"><span style="font-weight: bold;">ddd</span><br style="font-weight: bold;" /><span style="font-weight: bold;">ddd<span style="text-decoration: underline;"><span style="color: rgb(204, 51, 102);">dddd</span>ddd</span></span><br /></font><div style="text-align: center;"><font size="3">d</font><br /></div><font size="3">dd<br /><br /></font></description> 
  <pubDate>Sat, 7 Aug 2004 19:32:25 +0200</pubDate> 
  </item>
- <item>
  <title>Schnuecks Test RSS</title> 
  <link>http://feedcms.webstyle-times.de/visit-1425</link> 
  <description><p>&nbsp;</p><p>fdfdd<br />dsjfosjsigdfodd<br />fhhfdihisfdig+sdg<br />fgihjfdjhidjcdfgdh<br /></p></description> 
  <pubDate>Sat, 31 Jul 2004 16:44:51 +0200</pubDate> 
  </item>
- <item>
  <title>der weltuntergang </title> 
  <link>http://feedcms.webstyle-times.de/visit-1334</link> 
  <description><p>&nbsp;</p><p>&nbsp;</p><p>am <span style="font-weight: bold;">12.01.1984 wird die welt untergehen<br /><span style="color: rgb(0, 0, 204);">wirklich? </span></span><span style="color: rgb(0, 0, 204);">Das ist ja schrecklick</span><span style="font-weight: bold;"><span style="color: rgb(0, 0, 204);"></span><br /></span></p><p /></description> 
  <pubDate>Mon, 26 Jul 2004 12:00:00 +0200</pubDate> 
  </item>
  </channel>
  </rss>
- <!--  Newsfeed by feedCMS by feedCMS.webstyle-times.de 
  --> 
- <!--  Verantwortlich fuer den Inhalt dieses Newsfeeds: demo@webstyle-times.de; feedCMS-Benutzername: demo 
  -->

code nicht die untermenüs von ersten node sondern die vom zweiten node auslesen will!

also soweit ichs verstanden habe brauche ich zuerstmal ein

PHP:
    mainTag = this.firstChild.nextSibling;

damit er "Newsfeed by feedCMS..." überspringt

aber dann brauch ich ja irgendwas wie
PHP:
mainTag = this.firstChild.firstChild
damit er nicht "rss" sondern "channel" nach "item" durchsucht oder
 
Zuletzt bearbeitet:
Hi,

also das eine subnode einen geschützen Begriff als Namen hat, führt DANN NICHT zu einer Trunctation, wenn die daraus zu erstellende variable diesen Namen nicht führt, also wahrscheinlich kein Problem.
Ich selbst habe mich vor einem Jahr intensiv mit xml beschäftigt, aber da ich in meiner täglichen Arbeit zur Zeit keine Nutzanwendungen damit fahre, habe ich das meisste wieder vergessen ->ergo: ich bräuchte jetzt zu lange, um dir zu helfen, und mein Kühlschrank ist gerade mal wieder leer.

Versuch es mit der Fragestellung und der Suchfunktion mal unter http://www.flashforum.de, da gibt es einige xml-geeks, die das vielleicht in 5min übersehen, sorry...

B
 
Zurück