C# 从具有属性和命名空间的XML中删除节点
我有下一个XML文件C# 从具有属性和命名空间的XML中删除节点,c#,xml,xml-parsing,C#,Xml,Xml Parsing,我有下一个XML文件 您可以尝试以下方法: <files> <mainFile num="333"> </mainFile> <mainFile num="444"> </mainFile> <mainFile num="555"> </mainFile> <mainFile num="666"> <TLL> <TLL>
您可以尝试以下方法:
<files>
<mainFile num="333"> </mainFile>
<mainFile num="444"> </mainFile>
<mainFile num="555"> </mainFile>
<mainFile num="666">
<TLL>
<TLL>
</mainFile>
</files>
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
XmlNodeList nodeList;
XmlNode root = doc.DocumentElement;
nodeList=root.SelectNodes("descendant::mainFile");
foreach (XmlNode n in nodeList)
{
XmlNodeList des = n.SelectNodes("descendant::DE");
foreach (XmlNode de in nodeList)
{
de.ParentNode.RemoveChild(de);
}
}
是的,有几种方法。你已经试过什么了吗?除了暗示为我写这个以外还有什么问题吗?是的,我试过了,我添加了我尝试的基本内容,你尝试的代码的实际错误/输出是什么?让我猜猜,这可能和暑假有关吗;暑假什么
var xmlString = XElement.Parse(xmlString);
xmlString.XPathSelectElements("//DE").Remove();
xmlString .Element("DE").Remove();
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
XmlNodeList nodeList;
XmlNode root = doc.DocumentElement;
nodeList=root.SelectNodes("descendant::mainFile");
foreach (XmlNode n in nodeList)
{
XmlNodeList des = n.SelectNodes("descendant::DE");
foreach (XmlNode de in nodeList)
{
de.ParentNode.RemoveChild(de);
}
}