تساعد في تحويل رمز PHP هذا إلى رمز VB.NET
سؤال
لدي رمز لإرسال XML عبر البريد. ولكن هذا الرمز هو في PHP وأنا في حاجة إليها في vb.net.
أي مساعدة لتحويل هذا الرمز؟
$XMLFile= (here i have created the xml file. XML is encoded ISO-8859)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"URL WHERE I SEND XML");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,"XMLDATA=".$XMLFile);
$results=curl_exec ($ch);
curl_close ($ch);
$results=stripslashes($results);
$xmlreturned=new SimpleXMLElement($results);
if($xmlreturned->NotificationResultHeader->RRC==0){
if($xmlreturned->NotificationResultList->NotificationResult->NRC==0){
echo "OK. SUCCES";
وكيف تحويل رمز PHP هذا أيضا:
$msg=htmlentities($msg);
$msg=urlencode($msg);
المحلول
تحتاج إلى استخدام httpwebrequest. و httpwebresponse. الطبقات. يمكن أن تبدو الكود شيئا مثل هذا (بلدي VB صدئ بعض الشيء هذه الأيام):
Dim xmlDoc as XmlDocumnet
'
' prepare you xml doc here...
'
Dim encoding as ASCIIEncoding = New ASCIIEncoding()
Dim postData as String
postData = "XMLDATA=" + xmlDoc.ToString()
Dim data() as Byte
data = encoding.GetBytes(postData)
' Prepare web request...
Dim myRequest as HttpWebRequest
myRequest = CType(WebRequest.Create("URL TO POST HERE"), HttpWebRequest)
myRequest.Method = "POST"
myRequest.ContentType="application/x-www-form-urlencoded"
myRequest.ContentLength = data.Length
Dim newStream as Stream = myRequest.GetRequestStream()
' Send the data.
newStream.Write(data, 0, data.Length)
' Get the response
Dim myResponse as HttpWebResponse
myResponse = myRequest.GetResponse()
نصائح أخرى
يرى: حل الحلول و حل urlencode
وبقدر الحيل، يبدو أنك تحاول استدعاء خدمة ويب. إذا كانت خدمة ويب مناسبة (معنى هناك WSDL و XSD في مكان ما)، فيجب عليك إضافة مرجع خدمة (أو مرجع ويب إذا كنت في VS2005 أو VS2003) لمشروعك، مما سيولد وكيلا لك استخدم (بدلا من إغراق XML يدويا إلى خادم).
لا تنتمي إلى StackOverflow