有个xml文件,结构是这样的
<Document>
<Child name="linda">
<Child name="def">
<Child name="123">
<Child name="andy">
<Child name="abc">
</Document>
我的代码是:
XmlDocument xDoc = new XmlDocument();
XmlNodeList xnl = xDoc.SelecteNodes(@"./Document/Child");但是我要取的是所有子节点的前3 个节点(对name没有要求),本来遍历这个xmlnodelist,之后寻道arraylist是可以的,但是有序系统已经用了很久了,要改的话,确实量比较大。大侠们有没有好的方法,直接取 前n 个子节点放到XmlNodeList的?
<Document>
<Child name="linda">
<Child name="def">
<Child name="123">
<Child name="andy">
<Child name="abc">
</Document>
我的代码是:
XmlDocument xDoc = new XmlDocument();
XmlNodeList xnl = xDoc.SelecteNodes(@"./Document/Child");但是我要取的是所有子节点的前3 个节点(对name没有要求),本来遍历这个xmlnodelist,之后寻道arraylist是可以的,但是有序系统已经用了很久了,要改的话,确实量比较大。大侠们有没有好的方法,直接取 前n 个子节点放到XmlNodeList的?
Root = ...
for (i = Root.Notes.Count - 1; i >= 3; i--)
{
Root.Notes.Remove(i);
}
doc.Load(filePath);
XmlNodeList list = doc.SelectNodes("Document/Child[1] | Document/Child[2] | Document/Child[3]");
为什么不定义一个XmlNodeList
然后把XmlNodeList xnl = xDoc.SelecteNodes(@"Document/Child");
这个list转换一下??XmlNodeList xnl = xDoc.SelecteNodes(@"Document/Child");
XmlNodeList list = null;
for(int i = 0 ;i < 3;i++)
{
list.Add(xnl[i]);
}
不是一样的么??
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(path);
XmlNodeList list = xmldoc.SelectNodes("Document/Child[position()<=3]");
Console.WriteLine(list.Count);