Avatar billede celal Nybegynder
07. august 2012 - 14:40 Der er 7 kommentarer og
1 løsning

XML fil som viser data

Jeg skal have dannet et XML dokument ud fra noget data, som jeg henter fra en masse andre XML dokumenter på nettet. Jeg har lavet den del som henter XML data fra en hjemmeside på nettet (har brugt XmlReader). Den data som jeg modtager skal have dynamisk vise som xml dokumente. Nogen som har en idee til hvordan jeg fremviser XML dokument når man eks bruger ulr (www.test.dk/data.xml). Kan fores tille mig det er for for httpresponse?
Avatar billede jokkejensen Novice
07. august 2012 - 15:08 #1
JEg bruger en httphandler:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Caching;
using System.Xml;

namespace StandardV2
{
    /// <summary>
    /// Summary description for Standards
    /// </summary>
    public class Standards : IHttpHandler
    {
        public XmlDocument Standard;
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/xml";
            context.Response.Write(getXml().InnerXml);
        }

        public XmlNode getXml()
        {
            Cache cacheObject = System.Web.HttpContext.Current.Cache;

            XmlNode x;
            x = (XmlNode)HttpContext.Current.Cache["Standard"];

            if (x == null)
            {
                Standard = new XmlDocument();
                Standard.Load("URL_TIL_XML");
                x = Standard.SelectSingleNode("/");
                cacheObject.Insert("Standard", x, null, DateTime.Now.AddYears(1), Cache.NoSlidingExpiration);
            }

            return x;
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

getXml metoden fjerner du eventuelt bare cache fra, og smider en parameter med ned der fortæller hvad der skal vises.

/J
Avatar billede jokkejensen Novice
07. august 2012 - 15:09 #2
Add -> "Generic Handler" i visual studio.

/J
Avatar billede celal Nybegynder
13. august 2012 - 10:05 #3
Det er længe siden jeg har kodet i asp.net. Men hvordan udbyder jeg denne IHttpHandler til brugeren? Håber ikke det er udforståelig.
Avatar billede celal Nybegynder
13. august 2012 - 10:06 #4
ok, har fundet en bskrivelse af hvordan jeg brugere handleren
http://mvolo.com/developing-iis7-modules-and-handlers-with-the-net-framework
Avatar billede jokkejensen Novice
13. august 2012 - 16:30 #5
Altså en generic handler hedder bare ashx til sidst, den håndteres af IIS uden nogen problemer. Bruger du den som standard document til IIS skal du nok tilføje den til "default document".

Men den burde kunne tilgåes med domæne.dk/service.ashx uden nogle problemer.

Prøv ex bare med:

public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("hey");
        }
public bool IsReusable
        {
            get
            {
                return false;
            }
        }


Venligst
/J
Avatar billede celal Nybegynder
17. august 2012 - 11:38 #6
Nu bruger jeg ikke XmlDocument men XmlReader. Hvordan får jeg fat i xml noderne med Xmlreader?
Avatar billede celal Nybegynder
20. august 2012 - 11:51 #7
Er der ikke n nem måde at tage alt indholdet fra XmlReader og skrive det til context.Response.Write (responsen)?
Avatar billede celal Nybegynder
10. maj 2014 - 11:34 #8
Lukker spørgsmålet
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

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