2Danke
ERLEDIGT
JA
JA
ANTWORTEN
13
13
ZUGRIFFE
1743
1743
EMPFEHLEN
-
Hallo
ich habe ein Program welches aus einer schlichten .txt Einträge ausliest um damit z.B.
das Kopieren von Dateien zu verbieten. Eine Whitelist benutzte ich für sowas. Nun kommt aber mehr dazu und ich möchte es einmal mit XML versuchen. Also müsste ich da seben genannte unterbringen und zum Beispiel noch Laufwerke auf die man zugreift.
Hat jemand ein nette todo wie man sowas sauber macht? Oder an dem eben genannten mir ein Beispiel zaubert?
MFG
Oli
-
10.11.11 14:59 #2
Hallo paebels,
Ein todo gibt es meiner Meinung nicht direkt
Das ist je nach den zu speichernden Daten unterschiedlich.
Aber hier mal ein Beispiel für deine Situation:
Oder auch einzelne Ordnerstrukturen mit mehr Dateieigenschaften sind möglich:Code xml:1 2 3 4 5 6 7
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <paebels_copytool> <whitelist> <filename>C:\...\test.txt</filename> <filename>C:\...\to_copy.exe</filename> </whitelist> </paebels_copytool>
Code xml:1 2 3 4 5 6 7 8 9 10 11 12
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <paebels_copytool> <whitelist> <dir path="C:\Users\ComFreek\Documents\"> <file executable="true" lastModified="10.11.2011" mime="application/octet-stream">to_copy.exe</file> </dir> <dir path="C:\Users\ComFreek\Pictures\"> <file executable="false" lastModified="10.11.2011" mime="text/plain">test.txt</file> </dir> </whitelist> </paebels_copytool>
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
Hallo
kannst Du mir auch sagen wie man das mit Code dann ausliest?Z.B c++ oder c# .net Ich nutze gerad eine txt datei und lese jede zeile ein.
MFG
OliGeändert von paebels (15.11.11 um 15:31 Uhr)
-
Hallo ich hab emich heute erst wiedre damit beschäftig und ich hba edie Idee es so zu machen.
Idee ist das ich mit kopieren anfange und weiter zu den erlaubten Dateiendungen gehen will. Grund ich möchte Später noch eine Fehlerliste erstellen in der XML um die Fehler die auftreten an das Server Event log zu schicken. Ist das so vom Prinzip her ok? Oder völlig falsch? Muss ich gleich was ändern anders machen? Nachtrag meine Funktionen prüfen erst auf die Endung selbst und später noch mal den Dateiheader(um Datei Änderungen festzustellen) wäre es nun Sinnvoll in die XML die Codes einzubinden für die Dateiheader? Und dann wie und wo und in HEX oder Dezimal? Hoffe mich versteht noch werCode :1 2 3 4 5 6 7 8 9 10
<?xml version="1.0" encoding="UTF-8"?> <kopieren> <erlaubte_dateien> <whitelist> <dateiendung>.txt</dateiendung> <dateiendung>.jpg</dateiendung> <dateendung>.log</dateendung> </whitelist> </erlaubte_dateien> </kopieren>
MFG
OliGeändert von paebels (15.11.11 um 15:40 Uhr)
-
So habe es so gemacht
Code :1 2 3 4 5 6
<?xml version="1.0" encoding="UTF-8"?> <whitelist> <dateiendungen Name = ".txt" ></dateiendungen> <dateiendungen Name = ".jpg"></dateiendungen> <dateiendungen Name = ".log'"></dateiendungen> </whitelist>
Ziemlich einfach gehalten und anstatt Text lese ich halt die Atribute Name aus und verarbeite diese weiter,KP ob das so ok ist es geht aber.Hier mal der auslese Code für Leute sowas machen wollen
Code :1 2 3 4 5 6 7
System::Xml::XmlDocument^ config = gcnew XmlDocument(); config->Load("res\\config\\Copy.xml"); System::Xml::XmlElement^ root = config->DocumentElement; for each(XmlNode^ node in root->ChildNodes) { this->erlaubte_dateien.push_back(marshal_as<std::string>(node->Attributes["Name"]->InnerText->ToString())); }
MFG
OliGeändert von paebels (17.11.11 um 16:21 Uhr)
-
17.11.11 17:29 #6
Hallo paebels,
okay du hast es schon geschafft, es mit C# auszulesen
Ein paar "stilistische" Mängel von mir:Code xml:1 2 3 4 5 6
<?xml version="1.0" encoding="UTF-8"?> <whitelist> <dateiendungen Name = ".txt" ></dateiendungen> <dateiendungen Name = ".jpg"></dateiendungen> <dateiendungen Name = ".log'"></dateiendungen> </whitelist>
- Ich würde noch ein Eltern-Element für alle Dateiendungen machen (<dateiendungen>) oder eben die vorhandenen Tags zu <dateiendung> (Singular) umbennenen.
- Die Dateiendung würde ich in den Tag-Inhalt schreiben und nicht als Name-Attribut. (Übrigens kannst du den schließenden Tag weglassen, wenn du den "Inhalt" nicht benutzt: <tag />).
- Den Punkt bei der Dateiendung würde ich auch weglassen, wobei dies aber eher Geschmackssache ist

Code xml:1 2 3 4 5 6
<?xml version="1.0" encoding="UTF-8"?> <whitelist> <dateiendung>txt</dateiendung> <dateiendung>jpg</dateiendung> <dateiendung>log</dateiendung> </whitelist>
Da würde ich HEX tendieren, es wird ja oft auch so angegeben.Und dann wie und wo und in HEX oder Dezimal?mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
Hallo kannst Du mir einmal erklären wann man nun Attribute nimmt und wann Text zwischen den Tags?
Ich komme nicht zu einer übersichlichen Struktur! Ich möchte auch Laufwerke bestimmen aus der Datei und Flags setzen wie erlauben (yes oder no) Als Beispiel finde ich aber immer nur eine Variante. Ich hab emich gerade an der Stelle völlig verrannt.
MfGCode :1 2 3 4 5 6 7
<?xml version="1.0" encoding="UTF-8"?> <whitelist Citrix="yes" Citrix_C="no"> <config Endung_erlauben = ".txt" Laufwerke = "C" ></config> <config Endung_erlauben = ".doc" Laufwerke = "Z"></config> <config Endung_erlauben = ".log" Laufwerke = "Wo auch immer"></config> <config Endung_erlauben = ".jpg" Laufwerke = ""></config> </whitelist>
oli
p.s. vor allem habe icvh mich wohl verrannt weil ich das auslesen noch nicht richt drauf habe.Bitte um Hilfe
-
28.11.11 15:47 #8
Hallo paebels,
grob gesagt: Wenn der Inhalt des Tags den Namen des Tag wiederspiegelt, dann ist es richtig:
Dein Beispiel:
Der Inhalt des Tags (txt) bezieht sich eindeutig auf den Namen des Tags (dateiendung).Code xml:1 2
<!-- 1 --> <dateiendungen Name = ".txt" ></dateiendungen> <!-- 2 --> <dateiendung>txt</dateiendung>
Bei deinem XML jetzt, würde ich anmerken, dass der Tag-Name gar nicht den Inhalt oder die Attribute des Tags irgendwie benennt - es heißt einfach nur config.
So würde ich es vorschlagen:
Code xml:1 2
<dateiendung laufwerke="C;D;">txt</dateiendung> <dateiendung laufwerke="F;Z;">doc</dateiendung>
Mit C# kenne ich mich leider nicht so aus. Aber ich könnte dir ein Beispiel in C++ schreiben.p.s. vor allem habe icvh mich wohl verrannt weil ich das auslesen noch nicht richt drauf habe.Bitte um Hilfemfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
Danke für die Prompte Antwort ich mach Visual C++ nicht C#
mein Plan war jetzt so :
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<?xml version="1.0" encoding="UTF-8"?> <!-- New document created with EditiX at Mon Nov 28 15:43:26 CET 2011 --> <KONFIGURATION Cirtix="" Citrix_C=""> <ERLAUBTE_DATEIEN> <DATEIEINDUNG>.txt</DATEIEINDUNG> <DATEIEINDUNG>.log</DATEIEINDUNG> <DATEIEINDUNG>.log</DATEIEINDUNG> </ERLAUBTE_DATEIEN> <BEREITGESTELLTE_LAUFWERKE> <LAUFWERK>C</LAUFWERK> <LAUFWERK>X</LAUFWERK> <LAUFWERK>Z</LAUFWERK> </BEREITGESTELLTE_LAUFWERKE> </KONFIGURATION>
Konfiguration als ober Tag da ich damit ja mein Program konfiguriere. Danach das was ich erlauben will also gewisse Dateien die ich erstmal mal nur auf diese Endung prüfe, später auch den Header lese zur Sicherheit. Und dann muss ich noch Laufwerke einbinden die ich wie oben zu sehen aus der config haben möchte. Die 2 Attribute habe ich gesetzt um gewisse Funktionen gleich zu unterbinden. Nur wie lese ich das wirklich sauber aus? Und ist der Ansatz so ok? Liest man sowas als Objekt ein in eine Arraylist? Oh man ich habe soviele Fargen, weil ich das früher immer mit einer txt Datei gemach habe und da einfach readline()
MfG
OliGeändert von paebels (28.11.11 um 15:54 Uhr)
-
28.11.11 16:05 #10
Ich glaube du machst dir zu viele Gedanken um deine Konfigurations-Datei

Klar, Planung ist sehr gut, aber wenn dann die Planung die eigentliche Entwicklung abhält, macht man meiner Meinung nach etwas falsch.
Gut, nun wie liest man das ein?
Du könntest zum Beispiel TinyXML++ nutzen, welches wirklich sehr leicht und schnell aufzusetzen geht (max. 10 Minuten)!mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
Hallo
das muss ich , da es ein Projekt ist welches ich als Abschlußarbeit abegebn will. Und so doof es klingt ohne XML kann ich es gar nicht abgeben. Daher möchte ich halt eine ganz einfache aber subere xml Datei erstellen. Mein Programm steht soweit ich bin eigentlich am Tunen. Auch wenn ich da einige Funktionen neu schreiben muss. Wäre nicht die erste
MFG
Oli
p.s fürs lesen benutze ich die in Visual C++ Class XML mit XML Reader etc. Quasi wie in C#
Habe mich nun dafür entschieden einfach weil ich so prüfen kann hat Attribute, wenn noch wer sagen mag ob es ok ist oder nicht wäre es fein!
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<?xml version="1.0" encoding="UTF-8"?> <!-- New document created with EditiX at Mon Nov 28 15:43:26 CET 2011 --> <KONFIGURATION Cirtix="" Citrix_C=""> <ERLAUBTE_DATEIEN> <DATEIEINDUNG NAME=".txt"/> <DATEIEINDUNG NAME=".log"/> <DATEIEINDUNG NAME=".jpg"/> </ERLAUBTE_DATEIEN> <BEREITGESTELLTE_LAUFWERKE> <LAUFWERK NAME="C"/> <LAUFWERK NAME="Z"/> <LAUFWERK NAME="X"/> </BEREITGESTELLTE_LAUFWERKE> </KONFIGURATION>
Geändert von paebels (28.11.11 um 16:32 Uhr)
-
Leicht OT: Wenn du in "Visual C++" eine C#-Klasse benutzt,
hast du da C++/CLI.Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Dachte das wäre klar c++/cli kenne ich auch unter dem Namen Visual C++. So steht es zumindest im Mircrosoft Buch.
MfG
oli
-
29.11.11 08:40 #14
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
Hilfe beim erstellen einer Konstanten Config Datei
Von ahnernoch im Forum PHPAntworten: 16Letzter Beitrag: 23.12.09, 09:15 -
c# config datei erstellen...
Von xlon im Forum .NET Windows FormsAntworten: 9Letzter Beitrag: 02.07.09, 18:57 -
Config-Datei parsen
Von time-master im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 22.10.05, 10:12 -
App.config-Datei bearbeiten
Von JK_net im Forum .NET ArchivAntworten: 5Letzter Beitrag: 12.11.04, 12:29 -
.bin datei zum erstellen einer config datei
Von nox im Forum Sonstige SprachenAntworten: 0Letzter Beitrag: 21.08.04, 14:25





Zitieren


Login





