【发布时间】:2021-02-15 09:20:13
【问题描述】:
我似乎无法弄清楚这一点。我想用代码从这个 XML 中删除第 nr 3 行。
1 <Storage>
2 <ID1 Name="123" Producer="123" EANnr="123" />
3 <ID2 Name="xxx" Producer="xxx" EANnr="xxx" />
4 </Storage>
这就是我将行添加到 XML 的方式:
public string DBAddToXML()
{
XmlNode Storage = storageData.CreateElement("Storage");
storageData.AppendChild(Storage);
XmlElement iDAttribute = storageData.CreateElement("ID" + scannedItemId.ToString());
iDAttribute.SetAttribute("Name", scannedItemName.ToString());
iDAttribute.SetAttribute("Producer", scannedItemProducer.ToString());
iDAttribute.SetAttribute("EANnr", scannedItemEANnr.ToString());
Storage.AppendChild(iDAttribute);
storageData.Save(STORAGE_DATA_FILE_NAME);
return storageData.InnerXml;
}
我使用它是因为它是我发现的唯一可以添加行而不覆盖任何内容的东西。如果我尝试添加一个节点,它只是没有添加任何内容,或者它替换了所有内容。但是这个解决方案对我有用。除了我不知道如何搜索特定行并将其删除。计划是搜索 ID 号,即元素的名称。
这个函数只运行一次。它是创建文件,这就是为什么没有 FIle.Load,我有另一个功能,但它是相同的减去 XmlNode 存储部分。
【问题讨论】: