Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  16 1650
Måken's Aspirant
Fleff's Avatar
Donor
Hai.

Er ikke dreven på dette, er også trøtt, så skal prøve å forklare bra

Wuala har kommet med noe nytt, API kalles dette, leses mer om det her(for de som gidder)http://www.wuala.com/en/api

Det jeg vil gjøre er å liste filer fra wuala til en nettside, så hvis jeg vil liste noen bilder, så må linken bli slik:

http://api.wuala.com/publicFiles/Rog...ic/Images?il=1

Utdata bli da slik:

Kode

<result>
−
<publicFiles familyFriendly="true" includeLinks="true">
−
<items t="images">
<item contentType="image/jpeg" modificationDate="1208700107" name="1208686714qYH9cjQ.jpg" size="158786" url="http://www.wuala.com/Roger/public/Images/1208686714qYH9cjQ.jpg">1208686714qYH9cjQ.jpg</item>
<item contentType="image/png" modificationDate="1200429825" name="cablecom-speed.png" size="5277" url="http://www.wuala.com/Roger/public/Images/cablecom-speed.png">cablecom-speed.png</item>
<item contentType="image/jpeg" modificationDate="1251039939" name="frisbee-dog.jpg" size="204725" url="http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg">frisbee-dog.jpg</item>
<item contentType="image/jpeg" modificationDate="1209492968" name="GiraffenBild.jpg" size="526114" url="http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg">GiraffenBild.jpg</item>
<item contentType="image/jpeg" modificationDate="1198582954" name="indy4.jpg" size="692709" url="http://www.wuala.com/Roger/public/Images/indy4.jpg">indy4.jpg</item>
<item contentType="image/jpeg" modificationDate="1208615223" name="Server@Home.jpg" size="2208182" url="http://www.wuala.com/Roger/public/Images/Server@Home.jpg">Server@Home.jpg</item>
<item contentType="image/jpeg" modificationDate="1206653203" name="US National Debt.jpg" size="104825" url="http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg">US National Debt.jpg</item>
</items>
</publicFiles>
</result>
Alstå en XML fil, noen måte jeg kan få listet de filene i en nettside som er laget i html?

Håper noen forstod dette, kort og godt, vil jeg ha en liste fra wuala til ei nettside, skal være dynamisk, slik at jeg ikke må legge til hver fil selv, vet det går via API tingen, men er egentlig veldig blank her.
Jeg mener du kan bruke XML Stylesheet (XSLT) til å oppnå det du prøver på.
HTML er vel strengt tatt XML, XHTML er det ihvertfall...

så det du ønsker å gjøre er å se på f eks et UBL dokument som kilde i en nettleser?

Eller å vise f eks et UBL dokument gjennom et XSLT i en eller annen form for presentasjon i [X]HTML?

API = Application Programming Interface
Sist endret av fxxked; 27. desember 2010 kl. 00:17.
Sitat av fxxked Vis innlegg
HTML er vel strengt tatt XML, XHTML er det ihvertfall...
Vis hele sitatet...
Strengt tatt er XHTML en avart av html hvor man forsøkte å nærme seg XML. bl.a. ved tvungen lukking av elementer, alle tags i lowercase etc. (som mange regner som et feilspor i utviklingen av html).

Både HTML (og derfor også xhtml) og XMl bygger på SGML, og har derfor en del likheter i f.eks syntaks. Det betyr ikke at de er det samme.

Anyways, det var dagens avsporing.

Som |dlem0b sier kan du bruke XSLT til formålet. Alternativt kan du jo skrive din egen parser som tar imot XML-data og spytter ut HTML. Det er ikke mange linjene kode som skal til og det finnes ca en milliard tutorials som viser dette i de mest brukte språkene
Måken's Aspirant
Fleff's Avatar
Trådstarter Donor
Litt over mitt nivå dette her

Ønsker å se alle filene som en liste, alle filene skal være en hyperlink som man kan trykke på for å åpne dem.

Leste litt mer om API på Wuala. Ser ut som om jeg må bruke HTTP GET på linken, fks HTTP GET: http://api.wuala.com/publicFiles/Rog...ic/Images?il=1

?il=1 gjør linkene trykkbare

Skal sjekke litt mer utover kvelden, om noen gidder så kan dere prøve å hjelpe litt

Tilegg:

Om jeg plasserer linken på siden min: http://api.wuala.com/publicFiles/Rog...ic/Images?il=1

Kan jeg legge til en Stil på xml filen uten å endre output'et som den linken gir?

Alstå forhåndsbestemme stilen på xml filen, uten å røre DEN filen?
z0p
uʍop ǝpısdn
z0p's Avatar
Hvis du faktisk leser hva andre har skrevet her har du allerede fått svar. Du kan bruke xslt. Hva med å lese deg opp på dette? Ingen kommer til å gi deg en konkret løsning på problemstillingen din..
▼ ... noen måneder senere ... ▼
Måken's Aspirant
Fleff's Avatar
Trådstarter Donor
Hallo igjen

Har lest litt guider o.l, men forstår det virkelig ikke! Kunne noen tatt seg 30 sec og laget en xhtml(CSS?) fil som kun lister opp linkene nedover, og gjør dem trykkbare, xml filen er slik:

Kode

<result>
−
<publicFiles familyFriendly="true" includeLinks="true">
−
<items t="images">
<item contentType="image/jpeg" modificationDate="1208700107" name="1208686714qYH9cjQ.jpg" size="158786" url="http://www.wuala.com/Roger/public/Images/1208686714qYH9cjQ.jpg/">1208686714qYH9cjQ.jpg</item>
<item contentType="image/png" modificationDate="1200429825" name="cablecom-speed.png" size="5277" url="http://www.wuala.com/Roger/public/Images/cablecom-speed.png/">cablecom-speed.png</item>
<item contentType="image/jpeg" modificationDate="1251039939" name="frisbee-dog.jpg" size="204725" url="http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg/">frisbee-dog.jpg</item>
<item contentType="image/jpeg" modificationDate="1209492968" name="GiraffenBild.jpg" size="526114" url="http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg/">GiraffenBild.jpg</item>
<item contentType="image/jpeg" modificationDate="1198582954" name="indy4.jpg" size="692709" url="http://www.wuala.com/Roger/public/Images/indy4.jpg/">indy4.jpg</item>
<item contentType="image/jpeg" modificationDate="1299750120" name="Server@Home.jpg" size="744181" url="http://www.wuala.com/Roger/public/Images/Server@Home.jpg/">Server@Home.jpg</item>
<item contentType="image/jpeg" modificationDate="1206653203" name="US National Debt.jpg" size="104825" url="http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg/">US National Debt.jpg</item>
</items>
</publicFiles>
</result>
Output er ønsket slik(Trykkbare):

Kode

http://www.wuala.com/Roger/public/Images/cablecom-speed.png
http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg
http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg
http://www.wuala.com/Roger/public/Images/indy4.jpg
http://www.wuala.com/Roger/public/Images/Server@Home.jpg
http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg
eller om noen hadde giddet, fks: GiraffenBild
osv nedover.
Sist endret av Fleff; 8. mai 2011 kl. 02:01.
Kan vise deg hvordan jeg ville gjort det i python.
BeautifulSoup greier fint og parse dårilg skrevet(htlm/xml),derfor har den lenge vært en av mine favoritt 3 part pythons module.
lxml kan også nevnes når det snakk om sterke parsere for python.

Kode

from BeautifulSoup import BeautifulSoup

xml = '''\
<result>
?
<publicFiles familyFriendly="true" includeLinks="true">
?
<items t="images">
<item contentType="image/jpeg" modificationDate="1208700107" name="1208686714qYH9cjQ.jpg" size="158786" url="http://www.wuala.com/Roger/public/Images/1208686714qYH9cjQ.jpg/">1208686714qYH9cjQ.jpg</item>
<item contentType="image/png" modificationDate="1200429825" name="cablecom-speed.png" size="5277" url="http://www.wuala.com/Roger/public/Images/cablecom-speed.png/">cablecom-speed.png</item>
<item contentType="image/jpeg" modificationDate="1251039939" name="frisbee-dog.jpg" size="204725" url="http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg/">frisbee-dog.jpg</item>
<item contentType="image/jpeg" modificationDate="1209492968" name="GiraffenBild.jpg" size="526114" url="http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg/">GiraffenBild.jpg</item>
<item contentType="image/jpeg" modificationDate="1198582954" name="indy4.jpg" size="692709" url="http://www.wuala.com/Roger/public/Images/indy4.jpg/">indy4.jpg</item>
<item contentType="image/jpeg" modificationDate="1299750120" name="Server@Home.jpg" size="744181" url="http://www.wuala.com/Roger/public/Images/Server@Home.jpg/">Server@Home.jpg</item>
<item contentType="image/jpeg" modificationDate="1206653203" name="US National Debt.jpg" size="104825" url="http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg/">US National Debt.jpg</item>
</items>
</publicFiles>
</result>
'''

soup = BeautifulSoup(xml)
links = soup.findAll('item', url=True)
for link in links:
    print link['url']


'''Output-->
http://www.wuala.com/Roger/public/Images/1208686714qYH9cjQ.jpg/
http://www.wuala.com/Roger/public/Images/cablecom-speed.png/
http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg/
http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg/
http://www.wuala.com/Roger/public/Images/indy4.jpg/
http://www.wuala.com/Roger/public/Images/Server@Home.jpg/
http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg/
'''
Man kan jo også skrive en regex som fikser dette.

Kode

import re

r = re.compile(r'url="(.*g/)')
for links in r.finditer(xml):
    print links.group(1)

'''Output-->
http://www.wuala.com/Roger/public/Images/1208686714qYH9cjQ.jpg/
http://www.wuala.com/Roger/public/Images/cablecom-speed.png/
http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg/
http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg/
http://www.wuala.com/Roger/public/Images/indy4.jpg/
http://www.wuala.com/Roger/public/Images/Server@Home.jpg/
http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg/
'''
Sist endret av snippsat; 8. mai 2011 kl. 04:29.
▼ ... noen uker senere ... ▼
Måken's Aspirant
Fleff's Avatar
Trådstarter Donor
Nå føler jeg meg stokk dum!

hvilke filtype skal de lagres som?

Som fks denne også: http://kore-nordmann.de/blog/0081_pa...from_html.html

Der bruker de koden:
<?php $oldSetting = libxml_use_internal_errors( true ); libxml_clear_errors(); $html = new DOMDocument(); $html->loadHtmlFile( 'http://kore-nordmann.de/blog.html' ); $xpath = new DOMXPath( $html ); $links = $xpath->query( '//a' ); foreach ( $links as $link ) { echo $link->getAttribute( 'href' ), "\n"; } libxml_clear_errors(); libxml_use_internal_errors( $oldSetting ); ?>
Vis hele sitatet...
Hva skal jeg lagre koden som for å teste den? Mat meg litt med teskje, værsåsnill
Vel, kodeeksmeplet du poster er PHP-kode (det ser du på at det starter med <?php) og må da følgelig lagres som et .php-dokument slik at webserveren skjønner at den skal håndtere det annerledes.

nb: du kan ikke "kjøre" php-filen ved å dobbeltklikke på den, den må aksesseres via en webserver (eller via et shell, men det regner jeg med er litt over ditt nivå akkurat nå)

Kode

#!/bin/bash
echo "Content-Type: text/html"
echo ""
wget -q "http://api.wuala.com/publicFiles/Roger/public/Images?il=1" -O wat.html
for i in `cat wat.html |grep url= |awk -F url=\" '{print $2}' |awk -F /\" '{print $1}'`
do
echo "<a href="$i">$i</a>"
done
rm wat.html
det gir meg:

Kode

<a href=http://www.wuala.com/Roger/public/Images/1208686714qYH9cjQ.jpg>http://www.wuala.com/Roger/public/Images/1208686714qYH9cjQ.jpg</a>
<a href=http://www.wuala.com/Roger/public/Images/cablecom-speed.png>http://www.wuala.com/Roger/public/Images/cablecom-speed.png</a>
<a href=http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg>http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg</a>
<a href=http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg>http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg</a>
<a href=http://www.wuala.com/Roger/public/Images/indy4.jpg>http://www.wuala.com/Roger/public/Images/indy4.jpg</a>
<a href=http://www.wuala.com/Roger/public/Images/Server@Home.jpg>http://www.wuala.com/Roger/public/Images/Server@Home.jpg</a>
<a href=http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg>http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg</a>
Måken's Aspirant
Fleff's Avatar
Trådstarter Donor
Takker for svar!

Prøvde å lagre som en php fil, lastet opp på serveren, og aksesserte den derfra, skjer det samme, whatz to do?
se her: http://www.langvann.com/wat.cgi
Laga en side som gjør det der for deg.
Dette er koden som jeg posta i tråden ovenfor her.

http://www.langvann.com/?viewt=2593453025762
z0p
uʍop ǝpısdn
z0p's Avatar
Så innmari vanskelig er det heller ikke å transformere til html. Jeg regner med at dette er poengløst tho..

transform.xsl

Kode

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/result/publicFiles">
    <html>
    <xsl:for-each select="items/item">
      <a>
        <xsl:attribute name="href">
          <xsl:value-of select="@url" />
        </xsl:attribute>
        <xsl:value-of select="@name"/>
      </a>
    </xsl:for-each>
    </html>
  </xsl:template>
</xsl:stylesheet>

test.xml

Kode

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xml" href="transform.xsl"?>
<result>
<publicFiles familyFriendly="true" includeLinks="true">
<items t="images">
<item contentType="image/jpeg" modificationDate="1208700107" name="1208686714qYH9cjQ.jpg" size="158786" url="http://www.wuala.com/Roger/public/Images/1208686714qYH9cjQ.jpg/">1208686714qYH9cjQ.jpg</item>
<item contentType="image/png" modificationDate="1200429825" name="cablecom-speed.png" size="5277" url="http://www.wuala.com/Roger/public/Images/cablecom-speed.png/">cablecom-speed.png</item>
<item contentType="image/jpeg" modificationDate="1251039939" name="frisbee-dog.jpg" size="204725" url="http://www.wuala.com/Roger/public/Images/frisbee-dog.jpg/">frisbee-dog.jpg</item>
<item contentType="image/jpeg" modificationDate="1209492968" name="GiraffenBild.jpg" size="526114" url="http://www.wuala.com/Roger/public/Images/GiraffenBild.jpg/">GiraffenBild.jpg</item>
<item contentType="image/jpeg" modificationDate="1198582954" name="indy4.jpg" size="692709" url="http://www.wuala.com/Roger/public/Images/indy4.jpg/">indy4.jpg</item>
<item contentType="image/jpeg" modificationDate="1299750120" name="Server@Home.jpg" size="744181" url="http://www.wuala.com/Roger/public/Images/Server@Home.jpg/">Server@Home.jpg</item>
<item contentType="image/jpeg" modificationDate="1206653203" name="US National Debt.jpg" size="104825" url="http://www.wuala.com/Roger/public/Images/US%20National%20Debt.jpg/">US National Debt.jpg</item>

</items>
</publicFiles>
</result>
legg disse i samme sti, og åpne test.xml i f.eks firefox


Uansett finnes det api-implementasjoner i en rekke språk ser det ut til. Ingen vits i å finne opp hjulet på nytt osv.

du kan transformere via js ved f.eks

Kode

function loadXMLDoc(dn) {
        if (window.XMLHttpRequest) {
            xhttp = new XMLHttpRequest();
        } else {
            xhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhttp.open("GET", dn, false);
        xhttp.send("");
        return xhttp.responseXML;
    }

    function displayResult() {
        xml = loadXMLDoc("data.xml");
        xsl = loadXMLDoc("transform.xsl");
        if (window.ActiveXObject) {
            ex = xml.transformNode(xsl);
            document.getElementById("example").innerHTML = ex;
        }
        else if (document.implementation && document.implementation.createDocument) {
            xsltProcessor = new XSLTProcessor();
            xsltProcessor.importStylesheet(xsl);
            res = xsltProcessor.transformToFragment(xml, document);
            document.getElementById("example").appendChild(res);
        }
    }
    displayResult();
når det kommer til wuala-tilkoblingen kommer du nok til å støtte på en cross-domain request utfordring. da kan du enten velge å redirect-løsning server-side eller kjøre hele løsningen server-side i f.eks php istedet.

Noe sånt som:

Kode

<?php
$xh = xslt_create();
$result = xslt_process($xh, 'test.xml', 'transform.xsl');
if (!$result) die('Feil ved transformering piss!');
echo $result;
Fullstendig test i javascript:
js-test.htm

Kode

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
    <div id="example"></div>
   <script>
    function loadXMLDoc(dname) {
        if (window.XMLHttpRequest) {
            xhttp = new XMLHttpRequest();
        } else {
            xhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhttp.open("GET", dname, false);
        xhttp.send("");
        return xhttp.responseXML;
    }
    function displayResult() {
        xml = loadXMLDoc("test.xml");
        xsl = loadXMLDoc("transform.xsl");
        if (window.ActiveXObject) {
            ex = xml.transformNode(xsl);
            document.getElementById("example").innerHTML = ex;
        }
        else if (document.implementation && document.implementation.createDocument) {
            xsltProcessor = new XSLTProcessor();
            xsltProcessor.importStylesheet(xsl);
            resultDocument = xsltProcessor.transformToFragment(xml, document);
            document.getElementById("example").appendChild(resultDocument);
        }
    }
    displayResult();
   </script>
  </body>
</html>
lagres med htm filbetegnelse i samme sti som test.xml og transform.xsl
Sist endret av z0p; 28. mai 2011 kl. 00:26.
Her er en php versjon av regex koden jeg postet over.
Laster in xml fra siden du linker til(jeg har lagret til x.xml) og denne php koden vil gi klikkbare linker til bildene.
Jeg tester dette lokalt med en Django web server(python),viss du vil teste lokalt er xampp,wamp greie.

Kode

<?php 
$xml = "";
  $f = fopen('x.xml', 'r');
  while( $data = fread( $f, 4096 ) ) { $xml .= $data; }
  fclose( $f ); 

preg_match_all('%url="(.*g/)%', $xml, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
	 $images = $result[1][$i];
	 echo "<a href=".$images.">".$images."<br />"."</a>";
}
?>
Måken's Aspirant
Fleff's Avatar
Trådstarter Donor
Tuuusen takk alle, fikk det til å funke nå! Brukte snippsat sin løsning! Eneste var at den kun viser bilder som er i mappen, hvordan kan jeg få den til å vise alle filene? Kan prøve litt selv å se også da

Er det mulig å få endret linkene fra fks "http://www.wuala.com/Roger/public/Im...rver@Home.jpg/" til "http://content.wuala.com/contents/Ro...@Home.jpg?dl=1"

Som dere ser er det bare å legge til content. og ?dl=1 på slutten, dette vil da gjøre at det blir en ordentlig direktelink

Takker for alle svarene hittil, hva er det nFF IKKE kan?
"http://content.wuala.com/contents/Ro...@Home.jpg?dl=1" Er ikke en direktelink.
"http://www.wuala.com/en/api/preview/Roger/public/Images/frisbee-dog.jpg" er en direktelink.
Å endre innholdet lar seg gjøre, men da må det være en garanti at alle bildene er statiske! At de ligger der scriptet forventer at de skal ligge, hvis ikke blir det en ødelagt lenke.

Det eneste jeg gjør er å legge til static_url og bytter ut $i med $getname.

Kode

.....

for i in `cat wat.html | grep url= | awk -F url=\" '{print $2}' |awk -F /\" '{print $1}'`; do # Hente linken fra hver linje
getname="`echo $i | awk -F / '{print $7}'`"  #Siden jeg vet at url-adressene er statiske, så kan jeg gjøre dette.
static_url="http://www.wuala.com/en/api/preview/Roger/public/Images/"   #Direkte link
echo "<a href='$static_url$getname'>$getname</a><br>" #spytte ut output.
....
Endringen er synlig/lagt til på http://langvann.com/wat.cgi

http://www.langvann.com/?viewt=17225831521
Sist endret av RandomiZed; 2. juni 2011 kl. 11:37.