Avatar billede webdb Nybegynder
29. april 2008 - 19:15 Der er 3 kommentarer

Returnering af xml fra webservice

Jeg har en mindre webservice der returnere et tal.
Pt. returneres følgende:

<?xml version="1.0" encoding="utf-8" ?>
<int xmlns="rank">117</int>

Men resultatet ønskes som:
<?xml version="1.0" encoding="utf-8" ?>
<abc>117</abc>

Hvordan får man formateret output fra webservice ?
Avatar billede sovsekoder Nybegynder
30. april 2008 - 17:48 #1
bemærk det er nasty! men sådan:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Serialization;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    public Service () {}

    [WebMethod]
    public CustomizedInt HelloWorld() {
        return new CustomizedInt(123);
    }
}

[XmlRoot("abc", Namespace="")]
public class CustomizedInt : IXmlSerializable
{
    private int i=100;
    public CustomizedInt() {}
    public CustomizedInt(int i) {this.i = i;}
    public void WriteXml(System.Xml.XmlWriter writer) {writer.WriteString(i.ToString());}
    public System.Xml.Schema.XmlSchema GetSchema(){return null;}
    public void ReadXml(System.Xml.XmlReader reader) { }
}
Avatar billede webdb Nybegynder
30. april 2008 - 19:02 #2
super. Tak
Avatar billede sovsekoder Nybegynder
30. april 2008 - 20:06 #3
gir du point?
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