Avatar billede tj_cuper Nybegynder
11. december 2007 - 09:06 Der er 3 kommentarer og
1 løsning

Oversættelse af Search XML fra ASP.3.0 til C#

Hej jeg har følgene kode i asp 3.0. Har siddet og prøvet at få den skrevet over til c# men synes ikke rigtig det lykkes :)

Her er asp koden.

function SearchXML( sXML, sSearchParam )

        aSearchParam = split(sSearchParam, "->")

        // Setting constants
        Set objXML  = Server.CreateObject("Microsoft.XMLDOM")
        objXML.async = False
        // Loading XML file
        objXML.loadXML( sXML )

        set oNodes = objXML.documentElement.childNodes

        for each param in aSearchParam

            SearchXML = ""

            for each xNode in oNodes               

                if xNode.NodeName = param then

                    set oNodes = xNode.childNodes
                    SearchXML = xNode.text

                end if

            next

        next

    end function


Koden jeg har prøvet at lave i c#, den fucker bare lidt så kunne være nice hvis en kunne hjælpe :)

public string SearchXML(string sXML, string sSearchParam)
        {
            string[] aSearchParam = sSearchParam.Split('>');
            string SearchXML;

            XmlDocument objXML = new XmlDocument();
            objXML.LoadXml(sXML);

            XmlNodeList oNodes = objXML.DocumentElement.ChildNodes;

            foreach (string parma in aSearchParam)
            {
                SearchXML = "";

                foreach(XmlNode xNode in oNodes)
                {
                    if (xNode.Name == parma)
                    {
                        oNodes = xNode.ChildNodes;

                        SearchXML = xNode.Name;                                             
                    }
                }
            }

            return SearchXML = "hoho";
        }

På forhånd tak
Avatar billede tj_cuper Nybegynder
11. december 2007 - 10:02 #1
Nå fik selv løst det :)

Smider lige koden hvis andre er interesseret.

public string SearchXML(string sXML, string sSearchParam)
        {
            string[] aSearchParam = sSearchParam.Split('>');
            string SearchXML = "";

            XmlDocument objXML = new XmlDocument();
            objXML.LoadXml(sXML);

            XmlNodeList oNodes = objXML.DocumentElement.ChildNodes;

            foreach(string parma in aSearchParam)
            {
                SearchXML = "";

                foreach(XmlNode xNode in oNodes)
                {
                    if (xNode.Name == parma)
                    {
                      oNodes = xNode.ChildNodes;
                      SearchXML += xNode.InnerXml;                                                                 
                    }
                }
            }
            return SearchXML;
        }
Avatar billede arne_v Ekspert
23. december 2007 - 05:40 #2
Jeg er ret sikker på at det der må kunne laves nemmere med XPath.
Avatar billede arne_v Ekspert
23. december 2007 - 05:46 #3
Noget a la:

        public static string SearchXml(String xml, String path)
        {
            XmlDocument    doc = new XmlDocument();
            doc.LoadXml(xml);
            return doc.SelectSingleNode("//" + path.Replace("->", "/")).InnerXml;
        }
Avatar billede tj_cuper Nybegynder
04. januar 2008 - 08:55 #4
Nice, må jeg lige prøve :) For der spare jeg da godt nok en del kode.
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