[英]How to delete a child record from xml
我正在尝试删除xml中的ChildRecord <cat>
。 没有任何正常工作。
这是源XML
<Main>
<Student>
<name>paul</name>
</Student>
<cat>
<category>
<id>1</id>
<name>Architecture</name>
</category>
<category>
<id>2</id>
<name>Education</name>
</category>
</cat>
</Main>
我尝试了这段代码。 但是没有用。
XmlDocument xdoc = new XmlDocument();
xdoc.Load(Server.MapPath("main.xml"));
XmlNodeList nodes = xdoc.GetElementsByTagName("cat");
foreach (XmlNode node in nodes)
{
xdoc.RemoveChild(node);
}
我看到的错误
{System.ArgumentException:要删除的节点不是该节点的子节点。
请帮我。
结果XML应该看起来像
<Main>
<Student>
<name>paul</name>
</Student>
</Main>
Linq2Xml会更容易
var xDoc = XDocument.Load(filename);
xDoc.Root.Element("cat").Remove();
xDoc.Save(filename);
PS:名称空间: System.Xml.Linq
编辑
使用XmlDocument
XmlDocument xdoc = new XmlDocument();
xdoc.Load(Server.MapPath("main.xml"));
XmlNode node = xdoc.GetElementsByTagName("cat")[0];
node.ParentNode.RemoveChild(node);
xdoc.Save(filename);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.