在指定标签处将XML插入XML文档

用户名

我正在处理XML,我想将以下XML标记插入到父xml中:

<Subject></Subject>

父XML

<School>
   <ClassB></ClassB>
   <ClassA>
      <Students>
      </Students>
   </ClassA>
</School>

希望最终的输出为

<School>
   <ClassB></ClassB>
   <ClassA>
      <Subject></Subject>
      <Students>
      </Students>
   </ClassA>
</School>

通过以下代码尝试:

XmlDocument xmlRequest = new XmlDocument();
 xmlRequest.LoadXml(parentXML);
 XmlDocumentFragment xmlfrag = xmlRequest.CreateDocumentFragment();
 xmlfrag.InnerXml = xmlSubjects;
 xmlRequest.DocumentElement.InsertBefore(xmlfrag,  xmlRequest.DocumentElement.FirstChild);

这将在放学后立即插入Subject元素。那么如何在特定路径插入。在这种情况下,在ClassA元素下。

请在这里帮助我。

托尼·欣克尔

您需要使用GetElementByName或某种方法来获取ClassA节点:

XmlNode xNode = xmlRequest.SelectSingleNode("School/ClassA");

然后将Subject作为新的子节点添加:

XmlNode newNode = xmlRequest.CreateNode(XmlNodeType.Element, "Subject", Nothing);
xNode.AppendChild(newNode);

如果要在特定位置添加它,请枚举父节点和现有节点,然后使用InsertBefore:

XmlNode xNode = xmlRequest.SelectSingleNode("School/ClassA");
XmlNode siblingNode = xmlRequest.SelectSingleNode("School/ClassA/Students");
XmlNode newNode = xmlRequest.CreateNode(XmlNodeType.Element, "Subject", Nothing);
xNode.InsertBefore(xNode, xSibling);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章