我使用WEB API通过将整个内容作为字符串传递来POST一个XML文件的内容。 但是我收到错误,现在我想知道如何传递这个XML字符串?逃避斜线,没有双引号等....
以下是我(不正确的)JSON结构的一个小例子:
{"xml":"
<server>
<networkAdapters>
<networkAdapter id="3d9c0d9d-d353-4d78-b034-b29f2dd824a0" ipEnabled="true">
<defaultGateways>
<defaultGateway address="x.x.x.x" costMetric="20" index="0" />
</defaultGateways>
<ipAddresses>
<ipAddress address="x.x.x.x" subnetMask="255.255.255.192" index="0" />
</ipAddresses>
<dnsServers>
<dnsServer address="x.x.x.x" index="0" />
<dnsServer address="x.x.x.x" index="1" />
</dnsServers>
</networkAdapter>
</server>"}
WEB API代码:
//POST api/RunningValue_Import
public object PostRunningValue(param_RunningValue inputData)
{
try
{
#region Retrieve XML string and Create XDocument
TextReader tr = new StringReader(inputData.xml);
XDocument doc = XDocument.Load(tr);
#endregion
...
我试图找出在将整个XML内容发布到我的WEB API之前需要做些什么。
有什么想法吗? 谢谢
答案 0 :(得分:1)
你需要在xml字符串中转义双引号,如下所示:
<dnsServer address=\"x.x.x.x\" index=\"0\" />
此外,您的xml格式不正确,您尚未包含结尾</networkAdapters>
标签
答案 1 :(得分:0)
为什么不直接删除JSON包装器并直接发送XML?
public HttpResponseMessage Post(XElement xElement)
{
...
}