我正在尝试将 XML 对象发送到数据库。我有一些表单的 POST 数据,我将其转换为 XML 对象,我希望将其发送到数据库,这种方式允许表单创建其他输入,并且我可以稍后调用并使用 XML 对象来填充表单以防用户想要编辑其表单。我怎样才能以这种方式发送这些数据?任何和所有的帮助将不胜感激!感谢 gfrobenius,这就是我创建 XML 对象的方法:
JQuery:
//Grab all the POST info, turn it into a valid XML object and store it
$postData = null;
if($_SERVER['REQUEST_METHOD'] == 'POST' && count($_POST) > 0) $postData = assocArrayToXML('POST_DATA',$_POST);
//The assocArrayToXML returns the XML object with page breaks, we need a stright non-breaking string
//so that the flexigrid can display the results properly.
$postData = str_replace(chr(13), '', $postData);
$postData = str_replace(chr(10), '', $postData);
功能:
function assocArrayToXML($root_element_name,$ar)
{
$xml = new SimpleXMLElement("<?xml version=\"1.0\"?><{$root_element_name}></{$root_element_name}>");
$f = create_function('$f,$c,$a','
foreach($a as $k=>$v) {
if(is_array($v)) {
$ch=$c->addChild(htmlspecialchars($k));
$f($f,$ch,$v);
} else {
$c->addChild($k,htmlspecialchars($v));
}
}');
$f($f,$xml,$ar);
return $xml->asXML();
}
最佳答案
我不确定 XML 对象是什么,但这就是我将 XML 传递到数据库的方式。
我会使用ajax(jQuery或纯JS)将其从客户端传递到一些服务器代码(页面或Web服务中的Web方法),该代码挂接到数据库中,将XML字符串作为参数传递给存储的过程或参数化 SQL。
应该是大约 20-30 行代码,并且您可以在网络上的一百万个地方找到有关如何执行此操作的示例。
编辑:
jQuery 示例:http://api.jquery.com/jquery.ajax/
JavaScript 示例:https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started
关于jquery - 将 XML 数据发送到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21486681/