我正在尝试将我的新消息从客户端同步到php服务器。我想将聊天应用程序中的每条消息作为xml元素发送,包含文本,时间和其他属性。 所以我创建了一个arraylist然后将它添加到我的namevaluepairs发布。 android服务看起来像这样:
String s = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
for (Message message : messages) {
s = s + "<message id='" + message.getId()
+ "' text='" + message.getText()
+ "' time='" + message.getTime()
+ "' id_sender='" + message.getIdMe()
+ "' id_receiver='" + message.getIdYou() + "'/>\n";
}
List<NameValuePair> nameValuePairs = new ArrayList<>(1);
nameValuePairs.add(new BasicNameValuePair("xml_messages", s));
我保持简单。 php服务器用:
读取我的xml字符串$xml=simplexml_load_string($_POST['xml_messages']);
但......它不起作用。 php服务器应该一次读取一条消息并将其插入数据库。这是剩下的代码:
$xml=simplexml_load_string($_POST['xml_messages']);
mysql_connect("localhost","root","Password");
mysql_select_db("ci");
foreach($xml->children() as $message) {
mysql_query("insert into _message_user values('','".$message->text."','".$message->time."','".$message->id_sender."','".$message->id_receiver."');") or die (mysql_error());
}
似乎它永远不会进入foreach循环。我试图发送其他xml文件,它似乎工作得很好。