Avatar billede muppet Nybegynder
21. april 2004 - 14:11 Der er 6 kommentarer

XslTransform.Transform problemer

Jeg har fundet en implementering på nettet, som listet i Transform()
Hvis nu  vi foretager flg. ændringer på Transform(), er der så nogen der kan forklare hvorfor kaldet sw.ToString() er tom ?
Den returnerer tom streng selvom jeg hardcoder et xml document som kilde.

Jeg modtager det rette XML fra min WebService.

Jeg har min anelse om at det skyldes en overloaded XslTransform.Transform(...) er blevet "obsolete", men hvordan ser implementationen ud med en anden XslTransform.Transform(...) ?

private string Transform() {
  localhost.Service service = new localhost.Service();
  XmlDocument xd = new XmlDocument();
  xd.Load( service.GetXML() );
           
  XPathNavigator xdNav = xd.CreateNavigator();
  XslTransform tr = new XslTransform();
  tr.Load( Server.MapPath( "DataStyle.xslt" ) );
           
  StringWriter sw = new StringWriter();
  //Note: .NET class library skriver denne funktion er "obsolete"
  tr.Transform(xdNav,null,sw);
  return sw.ToString();       
}
Avatar billede arne_v Ekspert
21. april 2004 - 14:15 #1
Prøv:

private string Transform() {
  localhost.Service service = new localhost.Service();
  XmlDocument xd = new XmlDocument();
  xd.Load( service.GetXML() );
  XslTransform tr = new XslTransform();
  tr.Load( Server.MapPath( "DataStyle.xslt" ) );
  StringWriter sw = new StringWriter();
  tr.Transform(xd,null,sw,null);
  return sw.ToString();     
}
Avatar billede muppet Nybegynder
21. april 2004 - 14:20 #2
Har jeg prøvet, men får stadig en tom streng retur.

Der var lige en lille fejl, fik copy/pastet forkert:
private string Transform() {
  localhost.Service service = new localhost.Service();
  XmlDocument xd = new XmlDocument();
  xd.LoadXml( service.GetXML() );
  XslTransform tr = new XslTransform();
  tr.Load( Server.MapPath( "DataStyle.xslt" ) );
  StringWriter sw = new StringWriter();
  tr.Transform(xd,null,sw,null);
  return sw.ToString();     
}
Avatar billede arne_v Ekspert
21. april 2004 - 14:24 #3
Har du checket at XML og XSL faktisk skal give noget ?
Avatar billede muppet Nybegynder
21. april 2004 - 14:27 #4
At de skal give noget ?
Avatar billede arne_v Ekspert
21. april 2004 - 14:29 #5
Hvis templates ikke matcher noget så kommer der jo ikke meget ud ...
Avatar billede muppet Nybegynder
21. april 2004 - 14:34 #6
Jeg har forsøgt mig på "den gamle måde", vha. JavaScript at køre "stylesheetet" på min xml fil og der var fint resultat. Så der *skal* komme noget ud ;o)
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