将xml数据发送到web服务而不是使用CDATA的最佳方式是什么

本文关键字:CDATA 是什么 方式 最佳 数据 xml 服务 web | 更新日期: 2023-09-27 18:00:35

我有一个web服务,它只接受一个字符串参数。

在我的情况下,我需要发送一个字符串,它是一个xml文档,其中一个元素包含一个xml片段(我将使用它来创建一个文件)。

例如,我正在发送:

<people>
  <person>
     <name>J Smith</name>
     <value><![CDATA[<content>rest of xml document here</content>]]></value>
  </person>
</people>

我以前。。以创建xml文件。

我想知道是否有比使用CDATA更好的方法来做到这一点?。CDATA文件非常小(小于20KB)。

JD

将xml数据发送到web服务而不是使用CDATA的最佳方式是什么

不需要使用CDATA。您可以直接按原样传递xml片段。

例如,http://msdn.microsoft.com/en-us/library/aa480498.aspx

更新:

Steve指出,您有一个字符串参数,而不是XmlElement参数。我不确定它是否还能以这种方式工作(尽管我觉得它可以:)。

除了CDATA和Base64之外,另一个选项是Xml编码,例如

var xml = new XmlDocument();
var node = xml.CreateElement("root");
node.InnerText = "<content>Anything</content>";
var xmlString = node.InnerXml; /// &lt;content&gt;Anything&lt;/content&gt;

我建议使用Base64编码XML片段。

使用Mutipart/Form Data的标准HTTP POST怎么样?将单个参数作为url或querystring的一部分。

这是一种更"RESTful"的做事方式。

这只是一个标准的文件上传。