gpt4 book ai didi

c# - 从 XML 文件中删除列在 XmlNodeList 中的节点

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:46 27 4
gpt4 key购买 nike

我的 XML 文件有问题。

 <?xml version="1.0" encoding="UTF-8"?>
<config>
<settings>
<excelFilePath>C:\Temp\</excelFilePath>
<mailHost>smtp</mailHost>
<mailPort>25</mailPort>
<mailFrom>me@test.com</mailFrom>
<keepInCopy>
<mailCC>email1@test.com</mailCC>
<mailCC>email2@test.com</mailCC>
<mailCC>email3@test.com</mailCC>
</keepInCopy>
<mailSubject>My Mail subject</mailSubject>
<mailBodyPath>Templates\Template1.htm</mailBodyPath>
</settings>
</config>

实际上我只需要删除所有标签“mailCC”。我目前正在尝试此 C# 代码,但没有任何反应:

XmlDocument xml = new XmlDocument();
xml.Load(FilePath);

XmlNodeList xnList = xml.GetElementsByTagName("mailCC");
foreach (XmlNode xn in xnList)
{
xn.RemoveChild(xn.FirstChild);
xml.Save(FilePath);
}

你能帮帮我吗?

最佳答案

删除节点将更新集合,因此您不应使用 foreach 循环。

XmlNodeList xnList = xml.GetElementsByTagName("mailCC");

while (xnList.Count > 0) {
xnList[0].ParentNode.RemoveChild(xnList[0]);
}

关于c# - 从 XML 文件中删除列在 XmlNodeList 中的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811869/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com