C# 如何在C中向现有XML添加新的XmlElement?

C# 如何在C中向现有XML添加新的XmlElement?,c#,asp.net-mvc,C#,Asp.net Mvc,我以以下格式存储了一个XML: XmlDocumentJsonConvert.DeserializeXmlNoderequestBody,root 我有一个房间元素,而不是这个元素,我需要添加,我需要它在下面的格式 <DA> <DE> <NumberActa>20659</NumberActa> <DegreeDate>09/10/2018</DegreeDate>

我以以下格式存储了一个XML:

XmlDocumentJsonConvert.DeserializeXmlNoderequestBody,root

我有一个房间元素,而不是这个元素,我需要添加,我需要它在下面的格式

   <DA>
      <DE>
        <NumberActa>20659</NumberActa>
        <DegreeDate>09/10/2018</DegreeDate>
        <StudentList>
            <CostsCenter>ABK015q</CostsCenter>
            <DocumentType>C.C h.</DocumentType>
            <Names>LISSET MARCELA</Names>
        </StudentList>
        <StudentList>
            <CostsCenter>ABCDE</CostsCenter>
            <DocumentType>C.C h.</DocumentType>
            <Names>MARCELA</Names>
        </StudentList>
       </DE>
    </DA>

如何添加元素

您可以创建新节点并向其追加新节点,然后为每个子节点追加子节点:

结果:

<DA>
    <DE>
        <NumberActa>20659</NumberActa>
        <DegreeDate>09/10/2018</DegreeDate>
            <StudentList>
                <CostsCenter>ABK015q</CostsCenter>
                <DocumentType>C.C h.</DocumentType>
                <Names>LISSET MARCELA</Names>
            </StudentList>
            <StudentList>
                <CostsCenter>ABCDE</CostsCenter>
                <DocumentType>C.C h.</DocumentType>
                <Names>MARCELA</Names>
            </StudentList>
    </DE>
</DA>

您可以创建新节点并向其附加新节点,然后为每个子节点将子节点附加到节点:

结果:

<DA>
    <DE>
        <NumberActa>20659</NumberActa>
        <DegreeDate>09/10/2018</DegreeDate>
            <StudentList>
                <CostsCenter>ABK015q</CostsCenter>
                <DocumentType>C.C h.</DocumentType>
                <Names>LISSET MARCELA</Names>
            </StudentList>
            <StudentList>
                <CostsCenter>ABCDE</CostsCenter>
                <DocumentType>C.C h.</DocumentType>
                <Names>MARCELA</Names>
            </StudentList>
    </DE>
</DA>

谢谢:,我在下面找到了这个答案,它现在运行良好

XmlDocument XmldocNew = new XmlDocument();
XmlElement newRoot = XmldocNew.CreateElement("DE");
XmldocNew.AppendChild(newRoot);
//newRoot.InnerXml = doc.DocumentElement.InnerXml;
newRoot.InnerXml = doc.DocumentElement.OuterXml;

谢谢:,我在下面找到了这个答案,它现在运行良好

XmlDocument XmldocNew = new XmlDocument();
XmlElement newRoot = XmldocNew.CreateElement("DE");
XmldocNew.AppendChild(newRoot);
//newRoot.InnerXml = doc.DocumentElement.InnerXml;
newRoot.InnerXml = doc.DocumentElement.OuterXml;

创建一个新节点->外接子节点DA->外接子节点DE,然后选择边旧节点根节点中的所有内容并插入DEcreate a new node->外接子节点DA->外接子节点DE,然后选择边旧节点根节点中的所有内容并插入DEHi@mehrdad,谢谢,我得到了一些其他代码,我将尝试您的答案。np,很高兴你找到了答案。嗨,上面的代码也在工作。但我有一个疑问,我们能给那个节点添加id吗?有可能吗?作为其他元素的孩子或家长NumberRacta是de的孩子,就像NumberRacta一样?嗨@mehrdad,谢谢你,我得到了一些其他代码,我会尝试你的答案。np,很高兴你找到了答案。嗨,上面的代码也在工作。但我有一个疑问,我们能给那个节点添加id吗?这是可能的?作为其他元素的子元素或父元素,NumberRacta是de的子元素,就像NumberRacta一样?