C#:XmlNodeList

XmlNodeList 是 .NET `System.Xml` 命名空间中表示节点有序集合的抽象类,用于存储 XML DOM 中的多个节点引用 。

- 动态视图 :列表与基础文档同步,若底层 XML 结构发生变化,列表内容会立即反映这些更改(不会抛出异常,但可能返回意外结果)。

- 访问方式 :支持通过索引(`Itemint`)和迭代器(`foreach`)访问节点。

- 资源管理:实现 `IDisposable` 接口,使用完毕后可释放资源。

主要属性与方法

  • `Count`:获取列表中节点的总数。

  • `Itemint index`:获取指定索引处的节点。

  • 常见获取途径:通常不直接实例化,而是由以下方法返回:

  • `XmlNode.ChildNodes`:获取所有子节点。

  • `XmlNode.SelectNodes(string xpath)`:获取匹配 XPath 表达式的节点集合。

  • `XmlElement.GetElementsByTagName(string name)`:获取指定名称的后代元素列表。

使用示例 (C#)

XmlDocument doc = new XmlDocument();

doc.Load("data.xml");

// 获取节点列表

XmlNodeList nodeList = doc.SelectNodes("//book");

// 遍历访问

foreach (XmlNode node in nodeList) {

Console.WriteLine(node.InnerText);

}

// 索引访问

if (nodeList.Count > 0) {

XmlNode firstNode = nodeList;

}

```

注意:在遍历过程中若修改了基础文档结构(如删除节点),可能导致列表状态不一致,建议谨慎操作或在修改后重新查询 。