Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur fungerar det här med noder?

Postades av 2005-07-18 18:48:29 - Magnus Hallberg, i forum flash & actionscript, Tråden har 12 Kommentarer och lästs av 1843 personer

Jag tänkte fortsätta att ställa ett par frågor till här på forumet. Man får ju så bra svar här...:)

Jag försöker göra en enkel RSS-läsare i Flash, men jag kan inte fatta hur det här med noder hänger ihop riktigt. Finns det någon här som skulle kunna förklara detta? I en RSS-läsare blir det ju massor med noder man ska gå igenom, tror jag i alla fall.

Jag har försökt att komma ner till taggen "item" och sen loopa igenom alla itemtaggar. Det är kanske inte det smartaste sättet.


Svara

Sv: Hur fungerar det här med noder?

Postades av 2005-07-18 20:26:29 - Martin Jensen

xml läsaren är väl kanske inte den mest smidiga på marknaden men det fungerar iaf... ;)

ex på xml
<code>
<bas>
<grupp>
<head>Härliga xml</head>
<text>massa brödtext</text>
</grupp>
<grupp>
<head>Härliga xml</head>
<text>massa brödtext</text>
</grupp>
<grupp>
<head>Härliga xml</head>
<text>massa brödtext</text>
</grupp>
</bas>

</code>


det man hel enkelt får gör att kolla många grupp noder som finns.
och sen loopa igenom dem... och lägga allt i en array

<code>
//arrayen som vi ska spara all info i
xmlArr = new Array();

//xml är laddad och vi loopar igenom noderna...

for (itemNode in xml.childNodes){
//hämta head värdet
headString = xml.childNodes[itemNode].childNodes[0].nodeValue;
//hämta bröd text
breadTextString = xml.childNodes[itemNode].childNodes[1].nodeValue;

//lägg till i array
xmlArr = new Array();
xmlArr[0] = headString;
xmlArr[1] = breadTextString;
}

//sen får vi loopa igenom arrayen när vi ska visa det

</code>

ett alternativ i for satsen är detta:
<code>
for (i=0; i<xml.childNodes.length; i++){
//hämta head värdet
headString = xml.childNodes[i].childNodes[0].nodeValue;
//hämta bröd text
breadTextString = xml.childNodes[i].childNodes[1].nodeValue;

//lägg till i array
xmlArr = new Array();
xmlArr[0] = headString;
xmlArr[1] = breadTextString;
}


</code>


hoppas att det förklarar lite mer...

=)


Svara

Sv:Hur fungerar det här med noder?

Postades av 2005-07-18 21:02:10 - Magnus Hallberg

Tackar, jag ska sätta mig med detta inatt och se om jag kan göra nåt av det. Jag återkommer troligen med fler frågor.


Svara

Sv: Hur fungerar det här med noder?

Postades av 2005-07-18 21:56:11 - Magnus Hallberg

Jag tyckte du hade svarat riktigt bra, men jag fattade visst inte ändå....( OM jag skulle göra en RSS-feeder till en sån här XML-fil. http://www.dn.se/DNet/jsp/polopoly.jsp?d=1400 Så kan jag inte göra på det sättet eller? Det är bara title och link taggarna i item-taggarna jag vill åt.

Jag har försökt med detta, jag får ut första title-taggen då. Men det verkar ju långsökt om man ska behöva göra på ett så krångligt sätt.
<code>
var XMLnRoot:XMLNode = XMLRss.firstChild;
var aNodes:Array = XMLnRoot.childNodes;

for(var i:Number = 0; i < aNodes.length; i++){
trace(aNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.firstChild);
</code>


Svara

Sv:Hur fungerar det här med noder?

Postades av 2005-07-18 22:25:12 - Martin Jensen

Hja fråga på... ;)

nu ska vi se... jag kan av någon underlig anledning så kan jag inte se just xml strukturen...
så jag vet inte riktigt hur den ser ut =/

men som jag sa så är inte inte flash så där super smidig när det gäller xml.. ;)

men kan du göran en copyPaste variant på xml strukturen? så kan jag kanske hjälpa dig...
för jag håller med om att det ser lite knöligt ut med dina nextsiblings.. ;)


Svara

Sv: Hur fungerar det här med noder?

Postades av 2005-07-18 22:26:50 - Magnus Hallberg

<code>
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <rss version="0.91">
- <channel>
<title>DN - Senaste Nytt</title>
<link>http://www.dn.se/</link>
<description>Senaste nytt från DN.se</description>
<language>sv-se</language>
- <image>
<title>Dagens Nyheter</title>
<url>http://www.dn.se/content/2/c4/14/00/logoDagensNyheter.gif</url>
<link>http://www.dn.se/</link>
<width>144</width>
<height>18</height>
</image>
- <item>
<title>Massiva polisinsatser i Gaza</title>
<link>http://www.dn.se/DNet/jsp/polopoly.jsp?d=148&a=440317</link>
<description>Det ser tufft ut både för den palestinske ledaren Mahmoud Abbas och för Israels premiärminister Ariel Sharon.
Trycket på dem för att bevara den sköra vapenvilan mellan Israel och Palestina är hårt. Samtidigt utmanas de båda ständigt på hemmaplan av extremister som vill öka sitt inflytande.</description>
</item>
- <item>
<title>Djurterror fråga för USA-konferens</title>
<link>http://www.dn.se/DNet/jsp/polopoly.jsp?d=148&a=440316</link>
<description>Veterinärer och andra djurexperter från hela världen försöker på en konferens i USA kartlägga hur olika djursjukdomar kan användas av terrorister.</description>
</item>
</code>
Sen fortsätter ju item-taggarna.


Svara

Sv:Hur fungerar det här med noder?

Postades av 2005-07-18 23:13:52 - Martin Jensen

hmmm... tryckte på fel knapp så att allt jag skrev försvann

låt oss börja om

<code>
// skapa arrayen
rssXmlArr = new Array();

//loopa igenom xmlen
for (i=0; i<xml.childNodes.length; i++){

//kontrollera att det är item
if(xml.childNodes[i].nodeName == "item"){
rssTitle = xml.childNodes[i].childNodes[0].nodeValue;
rssLink = xml.childNodes[i].childNodes[1].nodeValue;
rssDesc = xml.childNodes[i].childNodes[2].nodeValue;

//lägg till i array
rssXmlArr = new Array();
rssXmlArr[0] = rssTitle;
rssXmlArr[1] = rssLink;
rssXmlArr[2] = rssDesc;
}
}


</code>


Så nu ska vi se... jag tror att det ska fungera...

xml = den variabel som du har laddat in rss-feed:en i
sen loopar jag igenom alla childNodes i första nivån och kontrollerar om nodeName är item isåfall hämtar jag ut title, link och desc...



Svara

Sv: Hur fungerar det här med noder?

Postades av 2005-07-19 19:36:55 - Magnus Hallberg

hmm jag får inte detta att fungera. Har du tid och lust att kolla min kod?`har suttit hela dagen med det nu. Jag skickar med hela koden. Det fungerar att hämta xml-filen, det är just att hitta rätt bland alla noder som inte fungerar.
<code>
// Kontrollerar vilken RSS-feed som ska laddas...
RSSListener = new Object();
var selectIndex:String = "";// Skapar variabeln som jag ska spara sökvägen till XML-filen i...

RSSListener.change = function(eventObj:Object) {
// IF-satser som kontrollerarar vilken RSS-feed som ska laddas...
if(eventObj.target.selectedIndex == 1) {
selectIndex = "http://www.idg.se/tjanster/rss/rss.xml";
}

if (eventObj.target.selectedIndex == 2) {
selectIndex = "http://www.dn.se/DNet/jsp/polopoly.jsp?d=1400";
}

if (eventObj.target.selectedIndex == 3) {
selectIndex = "http://www.flzone.com/rss.asp";
}
//trace(selectIndex); // För utveckling...
XMLRss.load(selectIndex);
}
cboChoose.addEventListener("change", RSSListener);

var XMLRss:XML = new XML();// Ny instans av XML...
XMLRss.ignoreWhite = true;
System.useCodepage = true;// för att kunna använda svenska tecken...

// Funktion som körs när XML-filen laddas...
XMLRss.onLoad = function(bSucces:Boolean):Void {
if(bSucces) {
var rssTitle:String = "";
var rssLink:String = "";
var aRSS:Array = new Array;
var XMLRoot:XMLNode = XMLRss.firstChild;

for(var i:Number = 0; i < XMLRoot.childNodes.length; i++) {
if (XMLRoot.childNodes[i].nodeName == "item") {
rssTitle = XMLRoot.childNodes[i].childNodes[0].nodeValue;
rssLink = XMLRoot.childNodes[i].childNodes[1].nodeValue;

aRSS[0] = rssTitle;
aRSS[1] = rssLink;
}
trace(aRSS);
}
}

else {
// Visas om filen inte går att ladda...
lblLoadMess.text =("Det gick inte att ladda filen");
}
};
</code>


Svara

Sv:Hur fungerar det här med noder?

Postades av 2005-07-19 20:05:35 - Simon Dahlbacka

..finns det stöd för XPath?

i så fall borde det ju vara simplare att starta med /channel/item och sedan getElementByTagName("title").firstChild.nodeValue osv..


Svara

Sv:Hur fungerar det här med noder?

Postades av 2005-07-19 20:33:54 - Martin Jensen

Nu har jag gjort om den lite... så du får anpassa den för din application men nu plockar den ut title och link och lägger den i en 2d array

hoppas att det hjälper och funkar..

//Martin

<code>
System.useCodepage = true;// för att kunna använda svenska tecken... <<<denna ska ligga övers på sidan/i koden

var XMLRss:XML = new XML();// Ny instans av XML...
XMLRss.ignoreWhite = true;

trace('testing')
// Funktion som körs när XML-filen laddas...
XMLRss.onLoad = function(bSucces:Boolean):Void {
if(bSucces) {
var rssTitle:String = "";
var rssLink:String = "";
var aRSS:Array = new Array;


for(i in XMLRss.firstChild.childNodes[0].childNodes){

if (this.firstChild.childNodes[0].childNodes[i].nodeName == "item") {

rssTitle = this.firstChild.childNodes[0].childNodes[i].childNodes[0].firstChild.nodeValue;

//trace('title: ' + rssTitle);

rssLink = this.firstChild.childNodes[0].childNodes[i].childNodes[1].firstChild.nodeValue;

//trace('rssLink: ' + rssLink);

aRSS[i] = new Array(); //<<<<< skapar en 2d array
aRSS[i][0] = rssTitle;
aRSS[i][1] = rssLink;
}
//trace(aRSS);
}
}

else {
// Visas om filen inte går att ladda...
lblLoadMess.text =("Det gick inte att ladda filen");
}

//loopa igenom 2d array:en aRSS
for (x=0; x<aRSS.length; x++)
{
trace('title: ' + aRSS[x][0]);
trace('link' + aRSS[x][1]);
}
};


// tillfällig load funk av xml...
XMLRss.load("http://www.dn.se/DNet/jsp/polopoly.jsp?d=1400");
</code>


Svara

Sv: Hur fungerar det här med noder?

Postades av 2005-07-19 21:20:11 - Martin Jensen

Simon: nej det gör inte det... tyvärr....

dock vet jaag att det är någon snubbe som bygger liknande stöd men dock ej inbyggt...


Svara

Sv: Hur fungerar det här med noder?

Postades av 2005-07-19 21:20:21 - Magnus Hallberg

Tackar och bockar Martin. Efter en del ändringar fungerar det perfekt...:)


Svara

Sv:Hur fungerar det här med noder?

Postades av 2005-07-19 21:21:06 - Martin Jensen

Göööötttt! ;)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 158
27 952
271 704
1 042
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies