-3

在此处输入图像描述我有一个 XmlNodeList xnlSubParam

              XmlDocument xDoc = new XmlDocument();
              xDoc.Load(somexml);
              XmlNode xnParamList = xDoc.SelectSingleNode("//tag");
              XmlNodeList   xnlSubParam = xnParamList.SelectNodes("subparam");

现在 xnlSubParam 将包含一个节点列表

如何获取节点属性以及如何从列表中删除节点。我只是想从 xnlSubparam 中删除子参数列表.. 怎么做?在我的 xml 中,我有一个名为 Inside 的元素

              <subparam name="test1" displayname="Test1" type="BOOLEAN"/> 
              <subparam name="test2" displayname="Test2" type="BOOLEAN"/>
              <subparam name="test3" displayname="Test3" type="BOOLEAN"/>

在此处输入图像描述

4

1 回答 1

4

我不知道任何改变XmlNodeList自身的方法。我建议您将节点复制到 aList<XmlNode>中,然后您可以按照正常方式对其进行变异:

List<XmlNode> nodes = xnlSubParam.Cast<XmlNode>().ToList();
// Now work with nodes

要使用这些 LINQ 方法,您需要一个using指令:

using System.Linq;

当然,这只适用于 .NET 3.5 及更高版本(除非您使用的是 LINQBridge 或类似的东西)。

请注意,我个人会在整个过程中使用 LINQ to XML:

var doc = XDocument.Load(somexml);
var nodes = doc.Descendants("tag")
               .First()
               .Elements("subparam")
               .ToList();
于 2013-01-08T04:40:19.653 回答