2010-08-10 3 views
1

J'ai envoyé une demande de requête au serveur SQL avec "POUR XML AUTO, type, éléments, racine ('root')" ajouté à la fin de ma requête. Je lance un da.Fill (ds) [à un Datset] qui fonctionne sans aucun problème. Maintenant que j'ai les données, je veux les transformer en HTML.Aide avec SQl Server et XML?

Alors je:

Dim XMLString As String = ds.GetXml() 

qui convertit mes données en une chaîne. Voici le témoignage de mon PROBLEME !!

Puis je vais:

strHTMLDetails = GetHtml(Server.MapPath("~/TEO.xslt"), XMLString) 

qui passe le xsl (dans mon projet) et le xmlString à un sous.

Ensuite, mon code est le suivant:

Dim stream As New MemoryStream(ASCIIEncoding.Default.GetBytes(XMLString) 
Dim document As New XPathDocument(stream) 
Dim writer As New StringWriter() 
transform.Load(xsltPath) 
transform.Transform(document, Nothing, writer)  <====== Here's my error: 

L'espace blanc ne peut pas être dépouillé de documents d'entrée qui ont déjà été chargés. Fournissez le document d'entrée en tant que XmlReader à la place.

Je ne comprends pas ce qui ne va pas ou comment le résoudre. S'il vous plaît aider?

Merci, hlpearl

+0

Est-ce que transformer un objet XslCompiledTransform? –

Répondre

0

Oui j'avais "

Quand je l'enlève, je n'ai pas le problème ci-dessus, mais je aussi ne reçoivent aucune transformation

.

Lorsque je tente dans mon routione de traitement par lots est la suivante: Dim xmlString sous forme de chaîne = ds.GetXML() Dim xsl1 comme nouveau XSLCOmpliledTransform() xsl1.Load (ctype (ServerMapPath ("~/TEO.xslt, string < = ceci est mon projet xslt xsl1.Transform (XMLString, "C: .... \ testteo.HTML) < = Erreur

Je reçois un URI non valide: Le schéma Uri est trop long. Mon dataset dat ressemble à ceci: .root..t1..TEO_SEQ_NO.1./TEO_SEQ_NO. cela semble être les données correctes. Merci, Hlpearl