Avatar billede janemil Nybegynder
28. januar 2004 - 11:52 Der er 12 kommentarer og
1 løsning

Ekstern xml fil vises i HTML side.

Nogle der har eksempler på brug af en ekstren xmlfil (fra anden server) til visning på aspx side i HTML format.
Jeg skal bare loope gennem noderne og vise resultaterne.
Har gjort det ofte med vbscript, men vil gerne have det over på C# og mangler lige et godt link eller noget.
Avatar billede odegaard Nybegynder
28. januar 2004 - 12:08 #1
<%@ Page language="c#" %>
<%@ import namespace="System.Data" %>

<script language="C#" runat=server>
void Page_load(object obj, EventArgs e)
{
  DataSet ds = new DataSet();
  ds.ReadXml(Server.MapPath("MinXml.xml"));
  dg.DataSource = ds;
  dg.DataBind();
}
</script>
<html><body>

<asp:DataGrid id="dg" runat="server" />

</body></html>
Avatar billede odegaard Nybegynder
28. januar 2004 - 12:11 #2
Hov, du skulle have en ekstern xml fil. Du kan fx. bruge følgende der også benytter caching så det går lidt hurtigere.
private XmlDocument GetRemoteXml(string Url)
{
    XmlDocument doc;
    doc=null;
    try
    { 
        //Check if cached data allready exists
        if (Cache[Url] == null)
        {
            WebRequest myRequest = WebRequest.Create(Url);
            WebResponse myResponse = myRequest.GetResponse();
            Stream stream = myResponse.GetResponseStream();
            XmlTextReader r = new XmlTextReader(Url, stream);
            doc = new XmlDocument();
            doc.Load(r);
            stream.Close();
            Cache.Insert(Url, doc, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(60)); //Cache i 1 time
        }
        else
        {
            doc = (XmlDocument) Cache[Url];
        }
        return doc;
    }
    catch(System.Exception ex)
    {
        //Der opstod en fejl
        return null;
    }
}
Avatar billede janemil Nybegynder
28. januar 2004 - 12:59 #3
Det var noget i den stil - bare c# jeg er ude efter.

<%
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.Load("fil.xml")

If objXML.parseError.errorCode <> 0 Then
        Response.Write objXML.parseError.reason
        Response.Write("<br>")
        Response.Write("Der er sket en fejl")
        Response.end()
End If

Set objLst = objXML.getElementsByTagName("item")
noOfHeadlines = objLst.length
%>
<HTML>
<BODY ALINK="#000000" LINK="#000000" BGCOLOR="#C0C0C0">
<Head>
<Title>Serverside XML Link system</Title>
    <link rel="stylesheet" type="text/css" href="http://www.webmasteren.dk/scripts/Stylesheet.css">
</head>
<H1>Serverside XML Link system</H1>
<%
For i = 0 To (noOfHeadlines - 1)
Set objHdl = objLst.item(i)
Response.Write("<a href=""" & objHdl.childNodes(1).link  & """ target=""_blank"">" & objHdl.childNodes(0).title & "</a><br>")
Response.Write(vbCrLf)
Next

Set objXML = Nothing
Set objLst = Nothing
Set objHdl = Nothing

%>
Avatar billede odegaard Nybegynder
28. januar 2004 - 13:07 #4
Glem de gamle ASP/VB metoder. Tro mig: Det er meget nemmere at bruge databinding!
Du kan jo også bruge fx. en Repeater, eller du kan bruge templates på dit datagrid.

Eksempel du viser downloader jo iøvrigt heller ikke fra extern server.
Avatar billede odegaard Nybegynder
28. januar 2004 - 13:08 #5
Skulle måske lige nævne at page_load eventet skal ændres til følgende, hvis du vil benytte GetRemoteXml:

dg.DataSource = "http://www.domaene.dk/xml/data.xml";
dg.DataBind();
Avatar billede odegaard Nybegynder
28. januar 2004 - 13:09 #6
...dvs. glem de to første linjer
Avatar billede janemil Nybegynder
28. januar 2004 - 14:27 #7
Har du ikke et godt link i stedet til en artikel?
Avatar billede odegaard Nybegynder
28. januar 2004 - 14:38 #9
Avatar billede janemil Nybegynder
28. januar 2004 - 14:39 #10
Lig lige svar
Avatar billede odegaard Nybegynder
28. januar 2004 - 16:10 #11
svar
Avatar billede janemil Nybegynder
28. januar 2004 - 16:13 #12
Et svar på spørgsmålet ;-) så du kan få points
Avatar billede odegaard Nybegynder
28. januar 2004 - 16:20 #13
hov. pinligt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester