asp.net 删除XML文件中多个XML节点
原XML文件<?xmlversion="1.0"encoding="gb2312"?><user><person></person><personname="风拉"sex...
原XML文件
<?xml version="1.0" encoding="gb2312"?>
<user>
<person>
</person>
<person name="风拉" sex="女" age="25">
<pass>123</pass>
<Adress>昆明</Adress>
</person>
<person name="发明" sex="女" age="25">
<pass>123</pass>
<Address>发明</Address>
</person>
<person name="发明" sex="女" age="25">
<pass>123</pass>
<Address>发明</Address>
</person>
<person name="发明" sex="女" age="25">
<pass>123</pass>
<Address>发明</Address>
</person>
<person name="发明" sex="女" age="25">
<pass>123</pass>
<Address>发明</Address>
</person>
</user>
我要实现的是PERSON NAME=“发明”的节点全部删除,。我用了这种方法
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("user.xml"));
XmlNodeList xnl = xmlDoc.SelectSingleNode("user").ChildNodes;
foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;
if (xe.GetAttribute("name") == "发明")
{
xe.ParentNode.RemoveChild(xe);
}
}
xmlDoc.Save(Server.MapPath("user.xml"));//保存
这个只能删除一个节点,不能全部删除! 展开
<?xml version="1.0" encoding="gb2312"?>
<user>
<person>
</person>
<person name="风拉" sex="女" age="25">
<pass>123</pass>
<Adress>昆明</Adress>
</person>
<person name="发明" sex="女" age="25">
<pass>123</pass>
<Address>发明</Address>
</person>
<person name="发明" sex="女" age="25">
<pass>123</pass>
<Address>发明</Address>
</person>
<person name="发明" sex="女" age="25">
<pass>123</pass>
<Address>发明</Address>
</person>
<person name="发明" sex="女" age="25">
<pass>123</pass>
<Address>发明</Address>
</person>
</user>
我要实现的是PERSON NAME=“发明”的节点全部删除,。我用了这种方法
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("user.xml"));
XmlNodeList xnl = xmlDoc.SelectSingleNode("user").ChildNodes;
foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;
if (xe.GetAttribute("name") == "发明")
{
xe.ParentNode.RemoveChild(xe);
}
}
xmlDoc.Save(Server.MapPath("user.xml"));//保存
这个只能删除一个节点,不能全部删除! 展开
展开全部
using System.Xml.Linq;
XElement xml = XElement.Load(@"D:\Test\user.xml");
xml.Elements("person").Where(c=>
{
bool flag = false;
if (c.Attribute("name") != null)
{
if (c.Attribute("name").Value.Equals("发明"))
flag = true;
}
else
flag = false;
return flag;
}).Remove();
xml.Save(@"D:\Test\user.xml");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询