我有一个带有单个字符串参数的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
答案 0 :(得分:2)
我建议使用Base64-Encoding XML片段。
答案 1 :(得分:2)
无需使用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>
答案 2 :(得分:1)
使用Mutipart / Form-Data的标准HTTP POST怎么样?使单个参数成为url或querystring的一部分。
这是更“RESTful”的做事方式。
这只是一个标准的文件上传。