C# wie kann ich in C# bestimmte Parentnode aus XML-Datei löschen?

mohhus

Newbie
Registriert
Nov. 2011
Beiträge
4
Hallo Leute,

ich bin C#-Anfanger. Ich habe ein Programm in C# programmiert. Das programm soll ne bestimmte Texte in XML-Dateien suchen und dann diese Text mit dem zugehörigen Parentnode löschen. Das Programm funktioniert aber es löscht nur erste Text, also wenn ich die gleiche Text 3 mal(z.B. (*$+EINS[Del]*) ) in einer XML datei habe, wird nur die erste Text gelöscht.

Im Anhang gibt es mein XML-Datei beispiel. Das programm sucht (*$+EINS[Del]*). Er Findet mehrere dann löscht nur die Parentnode (Zeilen nummer 415 bis 419 und 471 bis 475)

<Single Type="{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}" Method="IArchivable">
<Single Name="Id" Type="long">18</Single>
<Null Name="Tag" />
<Single Name="Text" Type="string">fbinst1();(*$+EINS[Del]*)</Single>
</Single>

und

<Single Type="{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}" Method="IArchivable">
<Single Name="Id" Type="long">8</Single>
<Null Name="Tag" />
<Single Name="Text" Type="string">fbinst1: Prozess1;(*$+EINS[Del]*)</Single>
</Single>

aber die anderen z.B die in zeilen 430 bis 334 oder 450 bis 454 löscht er nicht
wie kann ich diese problem löschen?

mein Code ist :

using System.Xml;
using System.Xml.XPath;
...

namespace TestapplikationPLC1
{
class csStructureText
{
private string _Path = string.Empty;
private XmlDocument OpenXmlDocument;
XmlDocument _doc = new XmlDocument();


public csStructureText(string strFilePath)
{
_Path = strFilePath;
OpenXmlFile(_Path);

DelFile(_doc.FirstChild);
CloseXmlFile();
}

public void OpenXmlFile(string XmlPath)
{
_doc.Load(XmlPath);
OpenXmlDocument = _doc;
}

public void DelFile(XmlNode _doc)
{
foreach (XmlNode node in _doc.ChildNodes)
{
if(node.NodeType == XmlNodeType.Text)
{
Console.WriteLine("node");
if (node.InnerText.Contains("(*$EINS[DEL]*)"))
{
node.ParentNode.ParentNode.ParentNode.RemoveChild(node.ParentNode.ParentNode);
}
}
if (node.HasChildNodes)
{
DelFile(node);
}
}

}

public void CloseXmlFile()
{
_doc.Save(@"D:\HMn\Desktop\lösung1.xml");

}

}
}

vielen Dank für eure hilfe
 

Anhänge

  • Anlage1.zip
    11,6 KB · Aufrufe: 237
Zurück
Oben