我在解析 xml 文件时遇到问题。下面是一个示例。
<G_LOG>
<LINE>9206</LINE>
<TEXT>Generating
</TEXT>
</G_LOG>
<G_LOG>
<LINE>9207</LINE>
<TEXT>Inserted Actual
</TEXT>
好的,所以这只是文件中数千个节点的快照。我需要搜索 TEXT “Inserted Actual”,不仅要删除这个节点,还要删除前一个节点。所以它会在第 9207 行找到文本并删除 9206。(删除上述代码段中的所有内容)
我可以搜索要删除的行。
XDocument xmlDoc = XDocument.Load(filename);
var q = from c in xmlDoc.Descendants("G_LOG")
where c.Element("TEXT").Value.Contains("Inserted Actual")
select (string)c.Element("LINE");
foreach (string name in q)
{
Console.WriteLine("Actuals Success on ID : " + name);
}
但我不确定如何获取前一个节点并将其删除(没有代码桶)?