将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
不需要使用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; /// <content>Anything</content>
我建议使用Base64编码XML片段。
使用Mutipart/Form Data的标准HTTP POST怎么样?将单个参数作为url或querystring的一部分。
这是一种更"RESTful"的做事方式。
这只是一个标准的文件上传。