webForumDet fria alternativet

XML noder remove

4 svar · 194 visningar · startad av icaaq

icaaqMedlem sedan okt. 20005 273 inlägg
#1

Hur gör jag för att ta bort noder som passar in i ett visst kriterium.....jag visar så är det lättare jag har denna XML:

[red]
<?xml version="1.0" encoding="utf-8"?>
<chatt>
    <posts>
        <post name="icaaq" timestamp="2002-02-08 07:04:15" message="fjuk is not a english word"/>
        <post name="xheo" timestamp="2002-02-08 08:04:15" message="fjuk is not a greek word either"/>
    </posts>
</chatt>
[/red]

Om jag skulle vilja ta bort alla noder som är låt oss säga är 15 minuter gamla, kan jag då använda en XPath för att ta fram alla dem noderna eller måste jag loopa igenom hela XML filen och kolla "timestampen" för varje nod.

icaaqMedlem sedan okt. 20005 273 inlägg
#2

Jag har kommit så här långt.

[red]
public void DeletePost(int Minutes)
{
	string minutesadded = Regex.Replace(DateTime.Now.AddMinutes(Minutes).ToString(), @"(-|\+|:|\s)", "");
	XmlNode postsNode = _doc.SelectSingleNode("/chatt/posts");
	XmlNodeList list = postsNode.SelectNodes("post[number(translate(@timestamp,'-: ', '')) < number('"+minutesadded+"')]");
	foreach (XmlNode node in list)
	{
		postsNode.RemoveChild(node);
	}
	_doc.Save(chatt);
}
[/red]

Men problemet är att alla poster försvinner...hur kan jag åtgärda det....

mvh icaaq

icaaqMedlem sedan okt. 20005 273 inlägg
#3

Logik....på ovanstående kod tar jag bort alla poster som skapades x minuter fram i tiden......

Jag måste ju använda ett negativt nummer i Minutes....

Men en annan fråga hur förvandlar jag positivt tal till ett negativt tal. typ att jag har 10 men jag vill att det ska vara -10

mvh icaaq

PatrikBMedlem sedan mars 20002 836 inlägg
#4

kanske så här:

talet = talet - (talet * 2)

cya,
PatrikB

GladhMedlem sedan maj 20012 812 inlägg
#5

Finns sækert någon bra funktion før det...

Annars gångar du med -1

10 *-1 = -10

Magnus

121 ms totalt · 3 externa anrop · v20260731065814-full.b943c234
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
118 ms — hämta tråd, inlägg och bilagor (db)