Gein Medlem sedan sep. 2000 5 700 inlägg Frågan 10 juli 2001 17:52 #1 jag skulle vilja koppla min sida till en xml sida för
att hämta information från den sidan, hur gör man det?
xml sidan ser ut ungefär såhär:
<?xml version="1.0" ?>
- <aostatsversion="0.1"timestamp="2001-07-10 19:22:03 CEST">
- <dimensionname="d1">
<servermanager status="1" />
<clientmanager status="1" />
<chatserver status="1" />
<playfield id="505"name="Avalon"status="1" />
..
jag vill t.ex kunna hämta ut statusen hos id 505 där, m.m.
Hur gör man det här på ett enkelt sätt?
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
Vide Medlem sedan dec. 1999 8 577 inlägg Nu vet jag inte hur hela ditt dokument ser ut, eller vilken teknik du använder för att visa innehållet. Jag gjorde såhär, och det fungerade:
test.xsl
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="uri:xsl">
<xsl:template match="/">
<html>
<body bgcolor="#DDDDDD">
<xsl:for-each select="playfields/playfield">
<xsl:if match=".[@id='505']">
Hej: <xsl:value-of select="@status"/> <br/>
</xsl:if>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
test.xml
<?xml version="1.0"?>
<playfields>
<playfield id="505" name="Avalon" status="1-505"/>
<playfield id="506" name="Avalon" status="1-506"/>
<playfield id="507" name="Avalon" status="1-507"/>
<playfield id="508" name="Avalon" status="1-508"/>
</playfields>
test.asp - den du anropar
<%
Set XMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
XMLHTTP.open "GET", "http://www.lurgoyf.com/xml/test.xml", False
xmltext = ""
Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM")
XMLDoc.async = false
XMLDoc.loadXML(xmltext)
XMLHTTP.send ""
styleFile = Request.ServerVariables("Appl_physical_path") & "xml\test.xsl"
Set source = XMLHTTP.ResponseXml
Set style = Server.CreateObject("Microsoft.XMLDOM")
style.async = false
style.load(styleFile)
Response.Write source.transformNode(style)
%>
Som sagt, hur din övriga kod ser ut vet jag inte, men det är ju bara att modifiera... :)
Mvh, Vide
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu
E emission Medlem sedan dec. 1999 6 721 inlägg OM du bara vill ha ut värdet då ska du använda metoden selectSingleNode , med pattern "/playfield[@id = '505']", och plocka ut attributet status från den nod du får tillbaka.
Vide Medlem sedan dec. 1999 8 577 inlägg I vilken version av XMLDOM är det? Jag fick det inte att fungera i ASPkoden...
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu
E emission Medlem sedan dec. 1999 6 721 inlägg Nej, om playfield inte ligger i roten, så ska man ta bort slashen från pattern. I övrigt borde det funka. Jag gör alltid så.
Vide Medlem sedan dec. 1999 8 577 inlägg Hmm, något är gammalt, för den säger att objektet inte finns när jag försöker anropa det senare vid formateringen av datat.
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu