【发布时间】:2016-12-13 18:06:00
【问题描述】:
我使用管理 Fetch CRM 的旧服务:crmService.Fetch(fetchXml)。
我得到如下 XML 字符串结果:
<resultset>
<result>
<new_categoria name="Cliente" formattedvalue="1">1</new_categoria>
<new_name>Admin</new_name>
<new_tipodecampanaid>{F8F29978-4E0F-AE92-FB43-48B4DC406B1F}</new_tipodecampanaid>
<statuscode name="Activo">0</statuscode>
</result>
<result>
<new_categoria name="Client" formattedvalue="1">1</new_categoria>
<new_name>Client</new_name>
<new_tipodecampanaid>{758341BA-4661-D694-6743-8D2DC875793E}</new_tipodecampanaid>
<statuscode name="Activo">0</statuscode>
</result>
<result>
</resultset>
我们需要(因为 alias 不支持 Fetch 方法)替换几个 节点名称:
1 - 将 new_categoria 节点名称替换为 org_category
2 - 将 new_name 节点名称替换为 org_name
3 - 将 new_tipodecampanaid 节点名称替换为 org_campaignid
我们需要高性能,也许结果会是巨大的。
使用XmlDocument:
var doc = new XmlDocument();
doc.LoadXml(fetchXMLResult);
XmlNode root = doc.SelectSingleNode("resultset");
foreach (XmlNode childNode in root.ChildNodes)
{
}
使用XDocument:
XDocument resultset = XDocument.Parse(fetchXMLResult);
if (resultset.Root == null || !resultset.Root.Elements("result").Any())
{
return;
}
resultset.Root.Elements("result")
有什么建议吗?
【问题讨论】:
标签: c# xml linq-to-xml xmldocument fetchxml