使用xml进行客户端服务器通信

时间:2010-01-03 12:00:16

标签: xml client

我需要做基于xml的客户端服务器交互。
据我所知,通过xml进行客户端服务器通信的步骤可能包括:

1. client prepares the xml
2. transmittal of the xml
3. server processes the xml

客户端可以通过xml文件向服务器发送请求。服务器上的XML解析器将解析xml文件并将信息传递给服务器。
如果是这样,xml解析器输出到服务器的是什么?
如何在服务器上使用xml解析器来实现此目的?
从服务器到客户端的响应格式是什么(是否能以xml格式发送响应)到客户端?

如果我错了,通过使用xml进行客户端服务器通信的最佳方式是什么?

谢谢,

4 个答案:

答案 0 :(得分:2)

XML是一种描述数据的方式,它可能更好地看待使用XML传输数据的技术,例如asp.net中的WebServices使用基于SOAP的XML消息。您应该查看您所使用的技术中的这些机制。

如果您希望以特定格式接收XML文件,则需要查看交付方式,这可能是基于WebService还是文件传输?

答案 1 :(得分:2)

XML只是一种将数据传递到服务器的容器格式。

因此,例如,如果您想将用户的用户名和密码传递给服务器,您发送的内容如下:

 <credentials>
      <username>john</username>
      <password>password</password>
 </credentials>

服务器会收到并解析它。它(或许)会像这样创建一个凭证对象:

 class Credentials
 {
      String username;
      String password;
 };

填写解析XML并将其发送到业务层的值。

businesslayer检查数据库(或任何其他数据存储区)以检查凭据是否正确。

然后会通知它是否正常。 然后,服务器将发回(可能还以XML格式)登录结果:

 <result>
      <errorcode>10</errorcode>
      <errortext>The username and password do not match</errortext>
 </result>

客户端将解析XML并向用户显示结果。

这能解释你的问题吗?

答案 2 :(得分:0)

这取决于您使用的语言和功能集。

xml解析器的输出可能是 PHP Arrays 之类的东西。

并且通常普拉瑟函数的工作方式如下:

$output=parse_function($xml_input_string)

是的,连接可以是双向的(客户端也可以有一个解析器实例)

答案 3 :(得分:0)

在客户端和服务器端使用XML序列化和反序列化,而不是自己动手。 在客户端上创建和对象(最好在可以在服务器和客户端上使用的公共类中),使用数据填充对象并在客户端上对其进行序列化,将其发送到服务器,再将其反序列化为对象并使用它。您可以对服务器必须传递回客户端的结果执行相同的操作。 所有语言都有XML库可以帮助您实现这一目标。 对于客户端服务器管道,您可以使用许多框架。 WCF是.NET上的一个。