【发布时间】:2018-02-28 19:55:35
【问题描述】:
我已经搜索和搜索,但无法准确找到我要查找的内容。这可能只是我对 XML 缺乏了解,因为这是我第一次真正玩弄它。
基本上,我正在连接到 Pardot API 并请求所有潜在客户。但是,数据是分页的,所以我一次只能得到 200 个潜在客户,并且它们以 XML 格式返回。我需要做的是,在一个不断遍历分页数据并获取 XML 响应的循环中,我需要将每个响应的 XML 数据复制到一个新文档中,该文档最后将包含所有回复。
我有类似的东西,它在第一次迭代时有效,但在下一次迭代中它在 finalXmlDoc.AppendChile(impNode); 失败并显示错误消息:“此文档已经有一个 'DocumentElement' 节点。”
var xmlDoc = new XmlDocument();
var finalXmlDoc = new XMLDocument();
while (true)
{
//BUILD URL FOR EACH ITERATION AND DO AN HTTP GET
xmlDoc.Load(prospectResp);
var nodes = xmlDoc.DocumentElement.SelectNodes("/rsp/result/prospect");
foreach (XmlNode node in nodes)
{
impNode = finalXmlDoc.ImportNode(node, true);
finalXmlDoc.AppendChild(impNode);
}
// EVENTUALLY BREAK LOOP AND EXPORT finalXmlDoc
}
这是我的搜索让我得到的,但我猜有一种更简单的方法可以做到这一点。
【问题讨论】:
标签: c# xml copy xmldocument xmlnode