Toon posts:

XML data weergeven in html

Pagina: 1
Acties:
  • 527 views sinds 30-01-2008

Verwijderd

Topicstarter
Wat ik vraag is misschien heel makkelijk maar ik kom er absoluut niet uit. Wat ik probeer is om de verschillende XML Tags weer te geven in html. nu ben ik zover dat ik het xml document remote kan lezen en weergeven in het html document.
Dit is wat ik heb aan code maar hoe kan ik de tags zelf weergeven.

-------------------------------------------------------------------------
<SCRIPT language = "javascript">
function init()
{
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
xmlHttp.open("GET", "http://setiathome.ssl.berkeley.edu/fcgi-bin/fcgi?cmd=user_xml&email=gmmgroen@groen.xs4all.nl", false)
xmlHttp.send()
xmlDoc=xmlHttp.responseText

document.write("<xmp>" + xmlDoc + "</xmp>")

var srcTree = new ActiveXObject("Msxml2.DOMDocument.4.0");
srcTree.async=false;
// You can substitute other XML file names here.
srcTree.load(xmlDoc);

resTree.innerHTML = srcTree.transformNode(xsltTree);
}
</SCRIPT>
--------------------------------------------------

Kan iemand helpen?

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 00:08
<pre> al geprobeerd?

[ Voor 3% gewijzigd door Willem op 14-04-2003 15:36 ]

Motor onderhoud bijhouden


  • Noork
  • Registratie: Juni 2001
  • Niet online
Je wilt dus alleen de code laten zien? gewoon net als tekst? Dan kun je het in een textarea zetten.

of
code:
1
2
3
4
<PRE>
<B>Deze</B>Code zie je <I>gewoon</I> zoals 
hij <U>hier</U> ook staat :)
</PRE>

tussen <pre> en </pre> zetten
edit:

De search gebruiken is zooooo makkelijk
[rml][ html]Code opnemen als tekst[/rml]

[ Voor 61% gewijzigd door Noork op 14-04-2003 15:42 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wellicht helemaal geen toevoeging op deze post, maar ik zag eens bij ScottAndrew.com ook een mogelijkheid om je XML file direct visueel op te maken.

http://developer.apple.co...s/xmltransformations.html

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Noork schreef op 14 April 2003 @ 15:36:
Je wilt dus alleen de code laten zien? gewoon net als tekst? Dan kun je het in een textarea zetten.

of
code:
1
2
3
4
<PRE>
<B>Deze</B>Code zie je <I>gewoon</I> zoals 
hij <U>hier</U> ook staat :)
</PRE>

tussen <pre> en </pre> zetten
edit:

De search gebruiken is zooooo makkelijk
[rml][ html]Code opnemen als tekst[/rml]
ehhh, nee hoor. Je hoort groter-dan en kleiner-dan tekens nog steeds te vervangen door hun char-codes...

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
IE gebruikt zelf een XSL stylesheet om XML documenten netjes weer te geven in een browser, je weet wel, met die mooie in/uitklap bare nodetjes enzo, da's gewoon XML+XSLT->HTML, dus imo wat jij nodig hebt. Voor Apache Cocoon heeft iemand ooit een XSLT compliant versie (best wel beetje crossbrowser) daarvan gemaakt. Die staat hier:

http://cvs.apache.org/vie...eets/system/xml2html.xslt

kwestie van die xslt applyen op je xml file en je hebt je xml doc in heel mooie uitklapbare html

[ Voor 5% gewijzigd door Genoil op 14-04-2003 16:19 ]


Verwijderd

Topicstarter
Wat ik eigenlijk wil. is 1 html document maken waarin XML tags staan die uit een separaat xml document komen (bijv de turbotrekker) en de inhoud van de xml tags wil ik dus weergeven. in het html document.

Het wordt dus dynamisch omdat iedere keer als je het html document laad het ook de xml tags uit het xml document vernieuwd worden

  • roytanck
  • Registratie: Oktober 1999
  • Laatst online: 03-02 12:56
Verwijderd schreef op 16 April 2003 @ 14:22:
Wat ik eigenlijk wil. is 1 html document maken waarin XML tags staan die uit een separaat xml document komen (bijv de turbotrekker) en de inhoud van de xml tags wil ik dus weergeven. in het html document.

Het wordt dus dynamisch omdat iedere keer als je het html document laad het ook de xml tags uit het xml document vernieuwd worden
Voor wat jij wilt is XSL uitgevonden. XML+XSL -> HTML. De XSL stylesheet kan voor gelijksoortige XML documenten hetzelfde zijn. De server plakt de specifieke XML en de generieke XSL in elkaar tot een HTML document dat je vervolgens te zien krijgt.

Verwijderd

Topicstarter
je bedoelt op deze manier?

--------------------------------------------------------------------------------------
<html>
<body><script type="text/javascript">// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")

// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")

// Transform
document.write(xml.transformNode(xsl))</script>

</body>
</html>
--------------------------------------------------------------------------------------

Maar zoals ik dit lees dan kan ik het niet openen in bijv konqueror of opera. omdat er gebruik gemaakt wordt van ("microsoft.XMLDOM").

weet iemand hoe dat wel kan?

  • roytanck
  • Registratie: Oktober 1999
  • Laatst online: 03-02 12:56
Ik heb veel XSL geschreven, maar nooit de server side transformatie geregeld. Ik ben vormgever, geen software engineer. Anyway, normaal gesproken wordt de HTML door de server gemaakt. De XSL sheet bevat stukjes HTML, die je koppelt aan een bepaalde tag. Als er dus een <NAAM> tag in je XML staat wordt dat gelayout met het <template match="NAAM"> uit je XSL. Het HTML ding dat jij post komt mij niet bekend voor...

Verwijderd

Verwijderd schreef op 16 April 2003 @ 15:26:
je bedoelt op deze manier?

--------------------------------------------------------------------------------------
<html>
<body><script type="text/javascript">// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")

// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")

// Transform
document.write(xml.transformNode(xsl))</script>

</body>
</html>
--------------------------------------------------------------------------------------

Maar zoals ik dit lees dan kan ik het niet openen in bijv konqueror of opera. omdat er gebruik gemaakt wordt van ("microsoft.XMLDOM").

weet iemand hoe dat wel kan?
ditzelfde, maar dan op de server, mbv asp (in Jscript of vbscript) ofzow, gaat excact hetzelfde.

voorbeeld:
de xml (met xsl stylesheet):
http://physsql.phys.tue.nl/speeltuin/personal.xml
de xsl:
http://physsql.phys.tue.nl/speeltuin/personal.xsl
de asp:
http://physsql.phys.tue.nl/speeltuin/personal.asp

je ziet dus dat die xml niet goed werkt in browsers die geen xmlparser hebben ingebakken (ie 5.5 doet al sommige dingen niet goed), door de hele boel op de server te parsen ben je van dat gedonder af

[ Voor 24% gewijzigd door Verwijderd op 16-04-2003 17:20 ]


Verwijderd

Topicstarter
Kijk dit is goed info.. Ik neem aan dat als ik het wil maken in php dat ik dan eens moet gaan grasduinen op www.php.com want daarmee zou je hetzelfde kunnen doen.

Ik neem aan dat je dus een java of vb scriptje hebt lopen die de xml en de xsl samenvoegt tot een asp.

ik kan er een heleboel over vinden op het web maar het staat overal en niet bij elkaar

Verwijderd

in de asp staat basically hetzelfde als hierboven. alleen ik denk dat je in php niet standaard het xmldom object tot je beschikking hebt, maar daar is vast wel iets voor te vinden vermoed ik. in IIS zit ie standaard iig

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
in php zit wel 'een' DOM maar echt 'uit' zijn ze er nog niet mee (wordt constant aan geprutst).

ik weet nog steeds niet wat javah nu in feite wil: omzetten van xml -> html of gewoon xml als tekst weergeven?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:09

crisp

Devver

Pixelated

XSL is een mogelijkheid om clientside een XML document op te maken; wil je er echter meer mee dan is er natuurlijk ook de mogelijkheid om met javascript dingen uit de XML op te halen door de DOM structuur te doorlopen. Dat is toevallig ook precies wat de GoT Tracker doet :)

Intentionally left blank


Verwijderd

Topicstarter
xml -> html .

Ik wil een selectief aantal xml-tags weergeven in een html document. In een opmaak van mijn keuze.

dus het wordt:

xml + xsl = html

ik ben er op dit moment nog niet uit hoe ik het wil. want er zijn legio manieren. zoals client-side, server-side, een apart script die iedere 5 min een html document maakt dat ik kan uitlezen.

Maar als ik er achter ben hoe ik op de juiste manier een plat xml document daar de gegevens op de juiste manier kan weergeven in een html of php document dan heb ik bereikt wat ik wilde

  • r0bert
  • Registratie: September 2001
  • Laatst online: 26-04 17:38
- hmmz, het lijkt erop dat javah al eerder in dit topic antwoord heeft gegeven op mijn vraag. So let it be :) -

Het kan zijn dat het al gezegd is in dit topic, maar dat ik er snel overheen ben gescrolled

Is het ook mogelijk om nadat ik mijn XMLdata in heb gelezen via een XmlHttpRequest, ik er een (wisselende) XSL(t)sheet aan koppel ?

[edit]
Even korte toelichting:

Stel je voor, ik lees via JS 'werknemers.xml' in.
Nu wil ik afhankelijk van de aanroep, deze gegevens weergeven volgens 'naamgegevens.xsl' of 'verdiensten.xsl'. Is dat mogelijk ?

- hmmz, het lijkt erop dat javah al eerder in dit topic antwoord heeft gegeven op mijn vraag. So let it be :) -

[ Voor 58% gewijzigd door r0bert op 16-04-2003 23:25 ]


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
ah ok - die 'opmaak' naar keuze deed de cent vallen...

XSLT is idd aan te raden en zoals vermeld wel serverside - op client side valt het niet te vertrouwen. PHP heeft de Sablotron engine, ASP de hele .NET Api, en Java Xerces (en zelfs hele 'systems' die alleen nog maar werken met XSL (XSP 'pages', zie Cocoon)... XSLT is meestal wel traag , dus aan te raden het result te cachen (zover mogelijk)

Verwijderd

Topicstarter
Met cachen bedoel je eerst de spullen remote -> lokaal (\tmp ofzo) en daarna uitlezen?

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
nee, stel je client vraagt 'pagina.x' dan ga jij dus xml.x + xsl.x -> pagina.x , nu die transformatie kost tijd - en zodra de traffic groot wordt valt het niet meer te doen. Dan ga je dus gewoon die gegeneerde pagina.x bijhouden en de volgende krijgt dan die pagina.x terug. Je moet dan wel een systeem hebben om te weten wanneer je pagina.x echt veranderd is: de xml of xsl zijn veranderd... volgende keer hermaak pagina.x (voor sommige dingen valt die bijna niet te doen - maar voor een ander deel wel, ik dnek dat GoT bijvoorbeeld niet cached (?)

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 21-04 12:56
Er is voor dit doel ook een hele leuke PEAR php-add-in te vinden die XML (ook XHTML) kan bewerken. http://pear.php.net/package-info.php?pacid=37
Daarvoor moet je PHP wel PEAR installed hebben. (vanaf php4.3.0 standaard) en moet je rootacces hebben om de PEAR class te kunnen installen, of even lief aan je hoster vragen om het XML_Transformer package te installeren. (Over deze class staat een heel artikel in de laatste php-magazin

Een voorbeeld:
XML:
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0"?>
<spies>
 <spy>
  <firstname>James</firstname>
  <lastname>Bond</lastname>
 </spy>
 <spy>
  <firstname>Austin</firstname>
  <lastname>Powers</lastname>
 </spy>
</spies>


hieruit kun je met deze code en de XML_transformer class gemakkelijk nodes trekken en de data ervan printen

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require_once('Tree/Tree.php');
$t = Tree::setupMemory('XML', 'treeex1.xml');
$t->setup();

$children = $t->getChildren($t->getIdByPath('spies'));
foreach ($children as $spy) {
    $firstname = getData(fetchNode($t, $spy['child'], 0));
    $lastname = getData(fetchNode($t, $spy['child'], 1));

    print "Spy Name: $firstname $lastname\n";
}

function fetchNode($t, $spy, $offset = 0) {
    return $t->data[$spy['id'] + $offset];
}

function getData($node) {
    return trim($node['cdata']);
}


Maar er kan nog veel meer met die class. Zo kun je er ook XML/XHMTL bestanden mee bewerken.
In het PHP-Magazin (zie de site voor verkoopadressen) staan nog meer voorbeelden. (issue 02.2003 PEAR special)
edit:

Ik ga er voor 'het gemak' :? maar even van uit dat je ook PHP gebruikt.. 8)

[ Voor 22% gewijzigd door beetle71 op 17-04-2003 19:25 ]


Verwijderd

Topicstarter
Hoe vul je in PHP dan een remote site in? Of denk je dat het beter is om met een apart script de xml data lokaal op de server weg te schrijven en dan uit te lezen met php zoals boven?

zo ja, met welke taal zou je dat dan schrijven, perl? deze moet wel een xmlhttp achtige manier of zelf alleen xmlhttp ondersteunen. volgens mij kan dat met cocoon voor perl. maar misschien werkt een andere taal beter

Ik zat er al aan te denken om ermee te beginnen. Ik maak vooral scripts in vbscript en kix maar voor de hobby wilde ik wat leuke dingen met mijn site. En ik gebruik een linux servertje dus open source is meer gewenst dan het MS spul dat alleen maar werkt met windows.

btw waarmee schrijf je je PHP?

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 21-04 12:56
btw waarmee schrijf je je PHP?
Ehhhh, met vi, vim, pico, joe, kladblok oid, Iets handiger is misschien een mooie editor met syntax highlighting (jaja dat kan in vim ook :) ) bijvoorbeeld Scite (gratis), dreamweaver MX, Activestate KOMODO enz.enz...

In mijn voorbeeld mag je ipv. 'treeex1.xml' ook bijv. 'http://www.hierstaat.ut/watjewil.xml' zetten waarmee je een externe .xml in kan lezen.

[ Voor 4% gewijzigd door beetle71 op 17-04-2003 19:32 ]


  • -Nexus
  • Registratie: Februari 2002
  • Laatst online: 02-04 12:57

-Nexus

|1.25GHz G4 Powerbook|


  • André
  • Registratie: Maart 2002
  • Laatst online: 28-04 11:43

André

Analytics dude

Mjah :/ je reageert op een 2 jaar oud topic?
Pagina: 1

Dit topic is gesloten.