我通过c#代码删除前面三个节点,但是没完全删除,留下了<item />,我是想完全删除节点。我在网上看到都是这样写的,都没完全删除节点。所以请教大家。c#代码如下XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(strFilePath);
XmlNodeList xnl = xmlDoc.SelectSingleNode("Data").ChildNodes;
xnl[0].RemoveAll(); ...........
xmlDoc.Save(strFilePath);
//后来我将xnl[0].RemoveAll();改成也是一要的效果:
XmlElement xe = (XmlElement)xnl[0];
xe.RemoveAll();
xml文件如下<?xml version="1.0" encoding="utf-8"?>
<Data>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
</Data> 删除后的效果:
<?xml version="1.0" encoding="utf-8"?>
<Data>
<item />
<item />
<item />
<item ReaderId="1" ReadName="白瀚文"/>
<item ReaderId="1" ReadName="白瀚文"/>
</Data>
xmlDoc.Load(strFilePath);
XmlNodeList xnl = xmlDoc.SelectSingleNode("Data").ChildNodes;
xnl[0].RemoveAll(); ...........
xmlDoc.Save(strFilePath);
//后来我将xnl[0].RemoveAll();改成也是一要的效果:
XmlElement xe = (XmlElement)xnl[0];
xe.RemoveAll();
xml文件如下<?xml version="1.0" encoding="utf-8"?>
<Data>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
</Data> 删除后的效果:
<?xml version="1.0" encoding="utf-8"?>
<Data>
<item />
<item />
<item />
<item ReaderId="1" ReadName="白瀚文"/>
<item ReaderId="1" ReadName="白瀚文"/>
</Data>
xnl.RemoveAll();
xmlDoc.Save(strFilePath);
xn.RemoveAll();
xmlDoc.Save(strFilePath);
<Data>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
<item ReaderId="1" ReadName=""/>
</Data>
修改后 <?xml version="1.0" encoding="utf-8"?>
<Data>
<item />
<item />
<item />
<item ReaderId="1" ReadName="白瀚文"/>
<item ReaderId="1" ReadName="白瀚文"/>
</Data>
<Data>
<item />
<item />
<item />
<item ReaderId="1" ReadName="白瀚文"/>
<item ReaderId="1" ReadName="白瀚文"/>
</Data>
xmlDocument.Load("test.xml");
XmlNode node = xmlDocument.SelectSingleNode("Data");
node.RemoveAll();
xmlDocument.Save("test.xml");
xmlDocument.Load("test.xml");
XmlNodeList nodeList = xmlDocument.SelectSingleNode("Data").ChildNodes; for (int i = 0; i < 3; i++)//删除3次,自己处理
{
nodeList[0].ParentNode.RemoveChild(nodeList[0]);
}
xmlDocument.Save("test.xml");
那会儿下班要走,没看清,sorry
缩进伤不起
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("test.xml");
var praentNode = xmlDocument.SelectSingleNode("Data");
XmlNodeList nodeList = praentNode.ChildNodes;
for (int i = 0; i < Math.Min(3, nodeList.Length); i++)
{
parentNode.RemoveChild(nodeList[i]);
}
xmlDoc.Save(strFilePath);