在特定位置插入XML节点 [英] Inserting XML node at specific position
本文介绍了在特定位置插入XML节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个XML文件,我加载它的XmlDocument。该文件有一个节点,一些像这样的子节点
I have an XML file and I am loading it in Xmldocument. This document has a node with some child nodes like this
<xml here>
<somenode>
<child> </child>
<children></children>
<children></children>
<children></children> // I need to insert it
<children></children> // I need to insert this second time
<children></children>
<children></children>
<child> </child>
<somenode>
<xml here>
在这里somenode有一些孩子,其中第一和最后一个子节点的名称相同,其中,除了第一个和最后一个节点等节点有一些不同势的域名(彼此相同)。我创建一个函数来插入特定位置上的一个节点,我不知道有关标准,但可能会在中期。
here somenode has some children where first and last children node names are same where as other nodes except the first and last node has some diffrent name ( identical to each other ). I am creating a function to insert a node at specific position, I am not sure about the criteria but may be in the mid.
- 我怎么能插入特定位置的节点。我使用XMLnode.appendChild方法插入
- 请我需要插入后重新安排/排序节点。请建议。
- 我怎么能确定是什么结构,我应该如何寻找到新节点应根据当前的文档结构补充说。
推荐答案
您可以使用XLINQ来的修改XML文档
you can use XLinq to modify XML document
以下是XML变形例
String xmlString = "<?xml version=\"1.0\"?>"+"<xmlhere>"+
"<somenode>"+
" <child> </child>"+
" <children>1</children>"+ //1
" <children>2</children>"+ //2
" <children>3</children>"+ // 3, I need to insert it
" <children>4</children>"+ //4, I need to insert this second time
" <children>5</children>"+
" <children>6</children>"+
" <child> </child>"+
" </somenode>"+
"</xmlhere>";
XElement root = XElement.Parse(xmlString);
var childrens = root.Descendants("children").ToArray();
var third = childrens[3];
var fourth = childrens[4];
third.AddBeforeSelf(new XElement("children"));
fourth.AddBeforeSelf(new XElement("children"));
var updatedchildren = root.Descendants("children").ToArray();
这篇关于在特定位置插入XML节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文