如何在C#.NET中删除不带属性的XML数据段
我想知道在C#NET中删除没有属性的XML的最佳方法是什么。我目前正在尝试使用:System.Xml 和System.Xml.XPath,但无法使其工作如何在C#.NET中删除不带属性的XML数据段,c#,.net,xml,xpath,C#,.net,Xml,Xpath,我想知道在C#NET中删除没有属性的XML的最佳方法是什么。我目前正在尝试使用:System.Xml 和System.Xml.XPath,但无法使其工作 public String lstToTxt; private void delReminder_Click(object sender, EventArgs e) { string lstIn; int intselectedindex = lstVxmlin.SelectedIndi
public String lstToTxt;
private void delReminder_Click(object sender, EventArgs e)
{
string lstIn;
int intselectedindex = lstVxmlin.SelectedIndices[0];
if (intselectedindex >= 0)
{
lstIn = lstVxmlin.SelectedItems[0].ToString();
lstToTxt = lstVxmlin.Items[intselectedindex].Text;
}
Console.WriteLine(lstToTxt); //TEST: var returns e.g. = Green Mint
//Delete XML.
XDocument xdoc = XDocument.Load("Resources\\SavedReminders.xml");
xdoc.Descendants("Reminder")
.Where(x => (string)x.Element("PlantName") == lstToTxt)
.Remove();
}
XML如下所示:
<?xml version='1.0' encoding='utf-8'?>
<Reminders>
<Reminder>
<PlantName>Swedes</PlantName>
<SowInDoorsDate>N/A</SowInDoorsDate>
<SowUnderCoverDate>N/A</SowUnderCoverDate>
<SowOutDoorsDate>12/02</SowOutDoorsDate>
<PlantOutDoors>N/A</PlantOutDoors>
<HarvestTimeDate>20/05</HarvestTimeDate>
<Notes>N/A</Notes>
<PlotNumber>0</PlotNumber>
</Reminder>
<Reminder>
<PlantName>Green Mint</PlantName>
<SowInDoorsDate>05/05</SowInDoorsDate>
<SowUnderCoverDate>N/A</SowUnderCoverDate>
<SowOutDoorsDate>N/A</SowOutDoorsDate>
<PlantOutDoors>N/A</PlantOutDoors>
<HarvestTimeDate>07/6</HarvestTimeDate>
<Notes>N/K</Notes>
<PlotNumber>0</PlotNumber>
</Reminder>
<Reminder>
<PlantName>Turnips</PlantName>
<SowInDoorsDate>05/03</SowInDoorsDate>
<SowUnderCoverDate>N/A</SowUnderCoverDate>
<SowOutDoorsDate>N/A</SowOutDoorsDate>
<PlantOutDoors>N/A</PlantOutDoors>
<HarvestTimeDate>07/4</HarvestTimeDate>
<Notes>N/K</Notes>
<PlotNumber>0</PlotNumber>
</Reminder>
</Reminders>
瑞典人
不适用
不适用
12/02
不适用
20/05
不适用
0
绿薄荷
05/05
不适用
不适用
不适用
07/6
不适用
0
萝卜
05/03
不适用
不适用
不适用
07/4
不适用
0
已解决xdoc.Save()代码>丢失。是xdoc。保存XDocument调用XDocument
缺少的所有内容?只要尝试代码,它就可以正常工作。如果在上一条语句之后在调试器中查找xdoc,您将看到内存XML中缺少节点。看起来你只是没有将XML保存回磁盘?我会在2秒钟内检查它。看起来效果不错,不知道我是怎么错过的。