如何在C#.NET中删除不带属性的XML数据段

如何在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

我想知道在C#NET中删除没有属性的XML的最佳方法是什么。我目前正在尝试使用:System.Xml 和System.Xml.XPath,但无法使其工作

    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秒钟内检查它。看起来效果不错,不知道我是怎么错过的。