在指定标签处插入 XML 到 XML 文档
Insert XML to XML Document at specified tag
我正在处理 XML,我想将下面的 XML 标记插入 parent xml:
<Subject></Subject>
Parent 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);
这将在 School 之后插入 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);
我正在处理 XML,我想将下面的 XML 标记插入 parent xml:
<Subject></Subject>
Parent 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);
这将在 School 之后插入 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);