Avatar billede Joshlo Nybegynder
31. marts 2009 - 10:29 Der er 2 kommentarer og
1 løsning

xml og encoding

Hej Eksperter.

jeg sidder og roder med noget web service, hvor jeg vil returnere noget data som xml.

min kode ser ud som følgende:

[WebMethod]
public string GetCache()
{
  var cache = HttpContext.Current.Cache;
  var fuckingValues = new List<CacheItem>();

  cache.Insert("kenneth", "pedersen");

  foreach (System.Collections.DictionaryEntry entry in cache)
  {
    if (!entry.Key.ToString().Contains("System.Web.Services"))
    {
      fuckingValues.Add(new CacheItem {Key = entry.Key.ToString(), Value = entry.Value.ToString()});
    }
  }
           
  StringWriter cacheCrap = new StringWriter();
  XmlSerializer serializer = new XmlSerializer(typeof(List<CacheItem>));
  serializer.Serialize(cacheCrap, fuckingValues);

  return cacheCrap.ToString();
}

resultatet af det blir:
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://millionbrains.org/"><?xml version="1.0" encoding="utf-16"?> <ArrayOfCacheItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <CacheItem Key="kenneth" Value="pedersen" /> </ArrayOfCacheItem></string>

hvordan fjerner jeg: <?xml version="1.0" encoding="utf-16"?> ?
Avatar billede arne_v Ekspert
01. april 2009 - 02:52 #1
Har du overvejet den simple løsning ?

return cacheCrap.ToString().Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");
Avatar billede Joshlo Nybegynder
01. april 2009 - 09:44 #2
havde jeg faktisk ikke lige tænkt på. men den virker, så smid et svar og jeg kan takke dig :)
Avatar billede arne_v Ekspert
01. april 2009 - 15:04 #3
svars
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
Kurser inden for grundlæggende programmering

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