2009-04-17 7 views
1

Voici mon code, voir la partie qui dit ??? QUE FAIRE ICI ??? Je ne sais pas où je vous écris ce XML afin de pouvoir l'envoyer dans mon POST via le objRequest ... ilOù écrire XML avec XmlWriter pour l'envoi via HttpWebRequest POST dans ASP.NET?

string project_id = context.Request.QueryString["project"]; 
string person_id = context.Request.QueryString["person"]; 
string post_date = context.Request.QueryString["date"]; 
string post_hours = context.Request.QueryString["hours"]; 
string case_num = context.Request.QueryString["case"]; 


HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create("http://company.updatelog.com/projects/" + project_id + "/time_entries.xml"); 

objRequest.Method = "POST"; 

objRequest.ContentType = "application/xml"; 

XmlWriterSettings settings = new XmlWriterSettings(); 
settings.Indent = true; 
settings.IndentChars = (" "); 


using (XmlWriter writer = XmlWriter.Create(?????WHAT TO DO HERE????, settings)) 
{ 
    writer.WriteStartElement("time-entry"); 
    writer.WriteElementString("person-id", person_id); 
    writer.WriteElementString("date", post_date); 
    writer.WriteElementString("hours", post_hours); 
    writer.WriteElementString("description", "Worked on Case #" + case_num); 
    writer.WriteEndElement(); 
} 


StreamWriter myWriter = null; 


try 
{ 

    myWriter = new StreamWriter(objRequest.GetRequestStream()); 

    myWriter.Write(post_xml); 

} 

catch (Exception e) 
{ 

    context.Response.Write(e.Message); 

} 

finally 
{ 

    myWriter.Close(); 

} 

Répondre

0

Vous pouvez simplement utiliser un XmlTextWriter qui prend un constructeur de chaîne qui écrit fondamentalement juste à la mémoire.

code:

var buidler = new StringBuilder(); 
var writer = XmlWriter.Create(builder); 
+0

alors comment puis-je le mettre dans la demande? – BigOmega

+0

Vous devriez pouvoir écrire streamWriter.Write (builder.ToString()); – BFree

3

XmlWriter writer = XmlWriter.Create(objRequest.GetRequestStream(), settings);

Vous pas besoin de créer un StreamWriter alors. Le contenu que vous écrivez dans XmlWriter sera écrit dans le requestStream.

+0

Comment soumettre la demande? – BigOmega

Questions connexes