我正在处理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] 删除。
我来说两句