我有使用 XPath 过滤的 Xml(类似于此的查询):
XmlNodeList allItems =
xDoc.SelectNodes("//Person[not(PersonID = following::Person/PersonID)]");
这会过滤我原始 Persons Xml 中的所有重复项。我想从上面生成的 XmlNodeList 创建一个新的 XmlDocument 实例。目前,我能看到的唯一方法是遍历 XmlNode 的列表并构建一个 Xml 字符串(这样):
XmlNodeList allItems = xDoc.SelectNodes("//Person[not(PersonID = following::Person/PersonID)]");
StringBuilder xml = new StringBuilder("<Persons>");
foreach (XmlNode node in allItems)
xml.Append(node.OuterXml);
xml.Append("</Persons>");
XmlDocument newXDoc = new XmlDocument();
newXDoc.LoadXml(xml.ToString());
必须有更有效的方法来做到这一点?