تستطيع جعل المخرج لصفحة
php
على شكل
xml او json
هناك دالة جاهزة تقوم بتحويل البيانات إلى
xml
قم بوضعها داخل ملف
php
function sqlToXml($queryResult, $rootElementName, $childElementName)
{
$xmlData = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
$xmlData .= "<" . $rootElementName . ">";
while($record = mysql_fetch_object($queryResult))
{
/* Create the first child element */
$xmlData .= "<" . $childElementName . ">";
for ($i = 0; $i < mysql_num_fields($queryResult); $i++)
{
$fieldName = mysql_field_name($queryResult, $i);
/* The child will take the name of the table column */
$xmlData .= "<" . $fieldName . ">";
/* We set empty columns with NULL, or you could set
it to '0' or a blank. */
if(!empty($record->$fieldName))
$xmlData .= $record->$fieldName;
else
$xmlData .= "null";
$xmlData .= "</" . $fieldName . ">";
}
$xmlData .= "</" . $childElementName . ">";
}
$xmlData .= "</" . $rootElementName . ">";
return $xmlData;
}
بعد ذلك تضع البيانات المراد عرضها
وتضع فقط الحقول المراد عرضها من الجداول
$result = mysql_query(/* جملة mysql هنا */);
header("Content-Type: application/xml");
echo sqlToXml($result, "company", "employer");
سيطبع لك الناتج كالتالي على سبيل المثال
<?xml version="1.0" encoding="UTF-8"?>
<company>
<employer>
<name>Ahmed</name>
<age>35</age>
</employer>
</company>
في قسم الاندرويد ستحتاج لنفس متطلبات المثال السابق بالاضافة لمكتبة:
XmlSax
وتعرف المتغير الجديد:
ثم تضع في حالة استقبال الرد من السيرفر ليقوم بتحليل ملف
xml
داحل الدالة الجديدة
Parser111
Sub JobDone (Job As HttpJob)
Dim iStream As InputStream
If Job.Success = True Then
Select Job.JobName
Case "Send"
iStream = Job.GetInputStream
parser.Initialize
parser.Parse(iStream, "Parser111")
iStream.Close
End Select
End If
End Sub
وفي آخر جزء نقوم بكتابة الجزء الخاص بالتحليل ليقوم باستخراج البيانات داخل لستتين
Sub Parser111_StartElement (Uri As String, Name As String, Attributes As Attributes)
End Sub
Sub Parser111_EndElement (Uri As String, Name As String, Text As StringBuilder)
If parser.Parents.IndexOf("employer") > -1 Then
If Name = "name" Then
List1.Add(Text.ToString)
Else If Name = "age" Then
List2.Add(Text.ToString)
End If
End If
End Sub
لم اجرب الكود أتمنى أن يعمل بشكل جيد