我想从XElement中提取两个节点并使用这两个提取节点创建一个新的XElement,我的XElement,名为addTree,如下所示:
<add>
<channel_texting_id>7759101659683854745</channel_texting_id>
<account_id>1229782938247303441</account_id>
<channel_id>3922635293764895812</channel_id>
<texting_id>1</texting_id>
<is_active>true</is_active>
</add>
我想创建一个新的XElement:
<channel_texting_id>7759101659683854745</channel_texting_id> <channel_id>3922635293764895812</channel_id>
我可以得到第一个节点,channel_texting_id:
var addTreeOnlyDataINeed = n1.FirstNode as XElement;
现在我想将XElement addTree中的channel_id添加到XElement addTreeOnlyDataINeed但我不知道如何在XElement addTree中按名称选择channel_id节点,一旦我得到它如何添加,完全完整且与channel_texting_id处于同一级别在XElement中添加addTreeOnlyDataINeed
答案 0 :(得分:1)
我认为你需要这样的东西:
var parsed = XElement.Parse('here your xml as string');
var addTree = new XElement("addTree",
new XElement("channel_texting_id", parsed.Element("channel_texting_id").Value),
new XElement("channel_id", parsed.Element("channel_id").Value));
答案 1 :(得分:0)
您无法在单个XEelement
变量中存储多个XML元素。您可以改为使用XElement
的集合,例如使用List<T>
:
var addTreeOnlyDataINeed = new List<XElement>();
addTreeOnlyDataINeed.Add(n1.FirstNode as XElement);
//this is how you get child element by name
addTreeOnlyDataINeed.Add(n1.Element("channel_id"));