Könnte mir da jemand behilflich sein entweder mit einem Script oder mir erklären wie ich da z. B. mit einem xml Editor hinbekomme.
Hier ein genaueres Beispiel wie die Datei die ich bearbeiten möchte zusammen gesetzt ist. Hoffe das geht soweit in Ordnung möchte hier ja eigentlich keine Links posten aber diese hier sind veraltet
Nimm Visual Studio Code, öffne die Datei
-> markiere den zu entfernenden Teil -> Rechtsklick "Alle Vorkommen ändern" -> dann einfach löschen
Das sollte es gewesen sein.
05.06.2018, 21:08
Checcker
Ich denke mal wird aber nur gehen wenn der Inhalt hier immer gleich ist oder ?
Das Problem ist nämlich das der Inhalt zwischen <Link></Link> natürlich immer etwas anders ist da ein anderer Link enthalten ist. Hab hier nur die Daten gelöscht
Der Inhalt zwischen Hoster und HosterName ist der einzige der immer gleich ist. Der Rest ist immer etwas verschieden.
Hab den ersten Post mal editiert und noch genaueres Beispiel angehängt um zu zeigen wie genau die eigentlich Datei aufgebaut ist.
05.06.2018, 22:51
udg
Entweder ist es so einfach, dass ich zu kompliziert denke oder ich verstehe es nicht :D
es landet natürlich das zwischen <Link></Link>, was automatisch dahin gesendet wird aber wenn Du davon aus der xml etwas nicht brauchst, dann kannst Du doch in Notepad die Blöcke einfach löschen.
Es wird dann nur noch das ausgefüllt was in der XML vorhanden ist. Vorausgesetzt Du machst die Formatierung nicht kaputt ;)
wenn dieser Block also nicht gebraucht wird, dann löschen und den Rest von unten nach oben ranhängen, fertig.
06.06.2018, 09:37
Nimbus
Zitat:
Das Problem ist nämlich das der Inhalt zwischen <Link></Link> natürlich immer etwas anders ist da ein anderer Link enthalten ist. Hab hier nur die Daten gelöscht
Das ist als Beispiel natürlich maximal ungünstig. Abändern ja, aber nicht löschen. So machst du die Struktur kaputt, die man ja gerade braucht um die helfen zu können.
Das Pastebin Beispiel ist besser. Jetzt müsstest du uns nur noch verraten, was die Blöcke, die entfernt werden müssen besonders macht. Aktuell haben wir nur das zensierte Beispiel, bei dem 2 konkrete Blöcke entfernt werden sollen. Eine Regelmäßigkeit kann ich da spontan nicht erkennen, sodass es schwer wird die unerwünschten Blöcke zu identifizieren.
06.06.2018, 09:51
Checcker
Joa hätte wohl direkt das Pastebin bsp. posten sollen.
Bzw. dieser Block kommt eben mehrfach vor in der gesamten .xml allerdings mit leicht unterschiedlichem Inhalt. Da eben die Links immer etwas unterschiedlich sind (Relink / Filecrypt sowie die Container ID) und eben der Status der Unbekannt / Offline / Online beinhalten kann. Das alles manuell zu entfernen würde mich locker 1-2-3 Std. kosten.
Was ich damit am Ende bewirken will ist das ich diese Rapidgator Links (Blocks) aus der XML entfernen kann und somit IntelliTool dort nicht mehr erneut hoch lädt.
06.06.2018, 10:37
Nimbus
Habe dir doch genau dafür mal ein Tool geschrieben. Hast du das nicht mehr? (ich habe es nicht)
EDIT: Das Beispiel weicht doch wieder vom tatsächlichen Inhalt ab, oder? Ohne die komplette Struktur ist mir das zu doof das schnell zusammen zu bauen...
06.06.2018, 11:31
Checcker
Stimmt jo erinnere mich noch so wage daran. Du hast mir das Tool nie zukommen lassen soweit ich das lese hattest du das damals für mich gemacht. Die komplette Datei schicke ich dir per PN
06.06.2018, 11:37
kra88
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab dir mal eben ein kl. Script geschrieben!
Das Script geht bestimmt auch noch kürzer bzw. schneller...
Sprache = Autoit
Quellcode:
Spoiler ausklappen
Code:
#include <array.au3>
#include <File.au3>
_start()
func _start()
Local $sSuchstring = "<HosterName>Rapidgator.net</HosterName>"
Local $aIndex[0]
local $sFilePath, $aArray
Local $message = "Bitte wählen Sie die Import Datei aus!"
Local $sFilePath = FileOpenDialog($message, @ScriptDir & "\", "xml (*.xml)", 1 + 4)
If @error Then
MsgBox(4096, "", "Keine Datei(en) ausgewählt")
Exit
Else
$sFilePath = StringReplace($sFilePath, "|", @CRLF)
_FileReadToArray($sFilePath, $aArray)
_ArrayDelete($aArray, 0)
EndIf
For $i = 0 to UBound($aArray)-1
if StringInStr($aArray[$i],$sSuchstring) Then
_ArrayAdd($aIndex,$i-1)
_ArrayAdd($aIndex,$i-2)
_ArrayAdd($aIndex,$i-3)
_ArrayAdd($aIndex,$i)
_ArrayAdd($aIndex,$i+1)
_ArrayAdd($aIndex,$i+2)
_ArrayAdd($aIndex,$i+3)
EndIf
Next
Local $hFileOpen = FileOpen($sFilePath, 2+8)
If $hFileOpen = -1 Then
MsgBox($MB_SYSTEMMODAL, "", "Es ist während dem lesen der Datei ein Fehler aufgetreten.")
Return False
EndIf
For $ii = 0 to UBound($aArray)-1
For $iii = 0 to UBound($aIndex)-1
If $ii = $aIndex[$iii] Then
$aArray[$ii]=""
Else
EndIf
Next
Next
For $i = 0 to UBound($aArray)-1
if $aArray[$i]="" Then
Else
FileWrite($hFileOpen,$aArray[$i]&@CRLF)
EndIf
Next
FileClose($hFileOpen)
MsgBox(64,"Fertig",$sFilePath)
EndFunc
zip entpacken
.exe starten
xml auswählen
fertig
es wird eine neue xml erstellt mit dem zusatz "_new" im Dateinamen
06.06.2018, 11:41
kra88
hab dir ein kl. Script geschrieben Moderator muss nur noch den Beitrag veröffentlichen dann kannst es im anhang laden.
06.06.2018, 13:34
udg
oder ich kann dir ein tool machen das die xml scannt und löscht was raus soll. wie auch immer. evtl. geht das von kra88 ja schon.
VG
06.06.2018, 14:46
Checcker
Funktioniert bestens Nimbus hat mir bereits die editierte xml geschickt. Aber das Script ist für die Zukunft natürlich sehr nice funktioniert auch soweit. Damit wäre das Thema erledigt. Vielen Dank euch. Versuche noch per PN euch etwas Geld als Dankeschön auf zu zwingen :)