【问题标题】:send list<xmldocument> to wcf, how to do it?将 list<xmldocument> 发送到 wcf,怎么做?
【发布时间】:2016-07-25 06:53:00
【问题描述】:

我正在尝试将列表发送到 wcf。 我想把它作为json发送,有什么办法吗?

当我尝试序列化时,我得到空字符串,为什么?

public string ImportXml(List<XmlDocument> docs,string token)
        {
            Account user =  GetCurrentUser(token);
            string url = string.Format("{0}ImportXml/{1}", ServiceUrl, user.Unumber);
            string contentType = "text/json";
            x.Serialize(Console.Out, docs);
            string jsonReq = _serializer.Serialize(docs);
            bool response = false;
            HttpRequestHandler handler = new HttpRequestHandler();
            string result = handler.HttpPostWithToken(url, jsonReq, contentType, token);
            return result ; 
        }

【问题讨论】:

  • 文档列表中是否有任何内容?

标签: c# xml wcf


【解决方案1】:

在发送到 WCF 之前,集合文档的每个元素都必须序列化为 JSON,例如:

string jsonText = JsonConvert.SerializeXmlNode(doc);

其中 doc 是 XmlDocument。

对于 Javascript 也可以这样:Converting between XML and JSON

将 XmlDocument 的集合转换为 WCF 方法后,尝试转换入口集合的每个元素:

var documents = new  List<XmlDocument>();

foreach (var doc in docs)
{
  XmlDocument xmlDoc = JsonConvert.DeserializeXmlNode(doc);
  documents.Add(xmlDoc);
}

【讨论】:

    【解决方案2】:

    最后我得到了包含 xml 的字符串列表。

    更好,因为这样我们可以与任何人一起工作,而不仅仅是 C#。

    然后我搬到了 newtonsoft 而不是 JSS。

    List<string>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-20
      相关资源
      最近更新 更多