XmlElement updateRecipient = doc.CreateElement("UpdateRecipient");
XmlElement email = doc.CreateElement("EMAIL");
XmlElement listID = doc.CreateElement("LIST_ID");
XmlElement column = doc.CreateElement("COLUMN");
XmlElement name = doc.CreateElement("NAME");
XmlElement value = doc.CreateElement("VALUE")
root.AppendChild(body);
body.AppendChild(updateRecipient);
updateRecipient.AppendChild(listID);
listID.InnerText = _listID;
updateRecipient.AppendChild(email);
email.InnerText = _email;
updateRecipient.AppendChild(column);
column.AppendChild(name);
name.InnerText = _columnNameFrequency;
column.AppendChild(value);
value.InnerText = _actionID.ToString();
updateRecipient.AppendChild(column);
column.AppendChild(name);
name.InnerText = _columnNameStatus;
column.AppendChild(value);
出于某种原因,我最终只在updateRecipient元素下获得了一个子列而不是两个子列。我需要在UpdateRecipient Node下显示这两个:
<UpdateRecipient>
<LIST_ID>85628</LIST_ID>
<EMAIL>somebody@domain.com</EMAIL>
<COLUMN>
<NAME>Frequency</NAME>
<VALUE>1</VALUE>
</COLUMN>
<COLUMN>
<NAME>Status</NAME>
<VALUE>Opted In</VALUE>
</COLUMN>
</UpdateRecipient>
但到目前为止我只得到一个:
<UpdateRecipient>
<LIST_ID>85628</LIST_ID>
<EMAIL>somebody@domain.com</EMAIL>
<COLUMN>
<NAME>Status</NAME>
<VALUE>Opted In</VALUE>
</COLUMN>
</UpdateRecipient>
当它命中第一个AppendChild(列)然后命名和值时,频率显示find但后来又被状态覆盖,我希望它只是追加一个新的,我不知道为什么它会覆盖而不是添加另一个标签。
答案 0 :(得分:4)
问题是您正在重复使用“列”,“名称”和“ “价值”变量。您需要为第二组创建新的XmlElements。
答案 1 :(得分:0)
我不知道,但尝试以相反的顺序进行。这就是我一直以来所做的。不要将updateRecipient附加到root,直到你完成它。
答案 2 :(得分:0)
以为你可以重复使用现有元素,但你不能......