我有一个XML文件,我希望它发送php页面将其写入mysql数据库。
举个例子,
我有一个名为data
的类,它具有很少的属性。然后将这些对象值保存在本地缓存中作为xml文件,如下所示:
<data>
<value1></value1>
<value2></value2>
..........
</data>
所以我想将这些数据发送到mysql数据库。 我的服务器端使用PHP,我是新来的PHP。 那么发送这些数据的最佳方式是什么。
string data =“&amp; value1 =”+ d.value1 +“&amp; value2 =”+ d.value2 ........;
2。 将xml文件直接发送到php页面,并在php文件中读取xml文件并获取所需数据
发送这些数据的最佳方式是什么? (表现明智)
答案 0 :(得分:1)
答案可能是'它取决于'。
您的XML结构有多复杂,在服务器端(PHP)解析它有多容易?如果XML本身相对简单且参数数量不太可能显着增加,您可以考虑将它们作为URL的一部分发送。但是,如果XML将会发生变化并变得更加复杂,那么最终可能会不断发明使用这种方法将XML转换为URL参数的自行车。
将XML直接发送到服务器端可能更容易,因为您不需要将XML转换为URL参数。此外,您不需要关心XML的大小,而使用您需要的URL查询参数 - URL不应超过2083 symbols。
此外,如果您使用URL参数方法,请注意字符串连接 - 您需要转义数据的值,例如使用Uri.EscapeDataString方法。
在性能方面,有三个方面需要考虑:
如果没有太多的URI转义且参数具有相当微不足道的值(即大多数数字/ ASCII字符),由于使用HTTP GET而不是HTTP POST而且参数数量较少,参数可能会更快地传输要转移的数据。但是,传输增益将被XML转换为参数的成本所抵消,尽管对于小型XML来说这可以忽略不计。
如果XML结构复杂且数据中的值具有任意长度,那么在某些情况下,它转换为URL参数可能效率低下甚至是不可能的。如果你最终使用的是HTTP POST而不是HTTP GET,那么转换为参数就完全没有意义了。
在服务器端解析XML可能比解析URL参数要慢。但是,这是值得怀疑的,需要进行适当的测量。
最后,可能会建议考虑一下 - 为什么这种低级别的性能在开发的这个阶段对您感兴趣?你有一些性能问题,发现瓶颈在于那个小细节吗?见an excellent article about performance by Eric Lippert here。您可能最好采用最直接的解决方案(即最容易编码和维护),并在以后测量性能问题。