XML-Datei exportieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

Hallo zusammen,

ich bin neu, was die python-programmiereung angeht. ich will mit python eine bereit existierende XML-Datei exportieren.
kann einer veillecht helfen.

Ich danke euch sehr sehr serh...
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Willkommen im Forum!

Dein Post ist aber leider nicht hilfreich: Was heisst fuer dich `exportieren'?
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

Danke :)

ich will eigentlich die XML-Datei mit CoDeSys exportieren. CoDeSys hat eine export-funktion. Der Befehl muss aber in Python geschrieben sein.
Ist es jetzt klarer gewroden?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nein, du hast ja nicht mehr gesagt. Im Zweifelsfall kennt hier keiner dieses CoDeSys, also solltest du beschreiben, _was_ du machen willst.
Hast du eine XML Datei und willst aus ihr Werte auswaehlen oder was willst du machen?
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

ok, ich habe eine XML-Datei und will sie einfach öffnen und schließen können.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

AOJ hat geschrieben:ok, ich habe eine XML-Datei und will sie einfach öffnen und schließen können.
Ok, das geht so:

Code: Alles auswählen

with open(filename, "r") as infile:
    xml = infile.read()
Edit: Ich Depp! Ich habe Dir das Öffnen und Schließen gezeigt, aber zusätzlich noch das Einlesen! Also Obacht, wenn Du das nicht brauchst, einfach `pass` in Zeile 2 :twisted:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

Danke sehr. ds werde ich mal ausprobieren.
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

kannst du das bitte nochmal erklären?? also ich habe eine xml-datei; die heisst test.xml. was soll ich in python schreiben damit ich diese datei öffnen kann.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Eine XML-Datei ist nichts anderes als eine Text-Datei. Oeffnen und lesen kann man sie so wie Hyperion es gezeigt hat. Das nutzt im Allgemeinen aber nichts, da man eher an der Verarbeitung von Knoten als an der Text-Repraesentation interessiert ist.

Da du nicht damit rausrueckst, was du _eigentlich_ machen willst, werfe ich mal ElementTree und lxml in den Raum.
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

Es hat geklappt. ich danke euch. jetzt muss ich das mit CoDeSys machen aber hier kennt sich leider keiner mit CoDeSys aus!!
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Ja, und da helfen auch keine Ausrufezeichen. *Vielleicht* könnte man Dir hier trotzdem weiterhelfen, aber Du *müßtest* halt schreiben, *was* Du erreichen willst. (Die Forumssoftware ist nicht sooo dolle, daß sie eine Kristallkugelfunktion umschliessen würde ;-) .)
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

ok. ich will mit python CoDeSys öffnen können und eine xml-Datei exportieren.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wir drehen uns im Kreis. Ziemlich dolle, mir wird schon schwindlig.

Eben weil hier niemand CoDeSys kennt, solltest du versuchen zu erklaeren, was du machen willst ohne CoDeSys zu erwaehnen. Oder zumindest einen Link geben, wo man dieses CoDeSys finden kann.
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

also ich habs schon hingekriegt :P. trotzdem danke ich euch allen und sorry für den aufwand :D
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Auch auf die Gefahr hin, daß Du das nicht mehr lesen wirst: Du solltest Dir Gedanken machen, wie man Fragen so stellt, daß man auch eine Antwort bekommt. Ein paar Tipps gibt es u. a. hier. Bei Dir wäre ein Anfang damit gemacht, daß Du Dich vorab fragst: Könnte ich ohne eine solche Frage verstehen? Wir haben Deine Frage nicht verstanden, weil wir a) nicht wissen / kennen, welche Software Du einsetzen möchtest und b) den Sinnn der Frage nicht entschlüsseln konnten. Bei der Frage, wie man "etwas" in xml schreibt, ist es einfach wesentlich zu wissen *was* das landen soll, d. h. welche Datenstruktur. Eine Datei *öffnen* und *schliessen* ist einfach nicht dasselbe wie darein schreiben oder (xml)-Daten extrahieren. Und die Abhängigkeit von einer dritten Software lenkt womöglich vom Kern der Frage ab, so das hier niemand weiß, ob Du am Ende eine gute Lösung hast - oder eben nicht.

HTH
Christian
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

@CM: danke für die Tipps.
also ich versuch diesmal meine frage gut und verständlich zu formulieren :D.
ich habe ein codesys-projekt. codesys ist ein sps-programm wie step7 von siemens. das projekt hat den namen Test.projekt.
ich will dieses projekt mit python öffen. ich hab es hingekriegt das codesys-programm zu öffnen (p = subprocess.Popen([r"D:\Software\CoDeSys\Common\CoDeSys.exe", "-h"]), ich will aber die datei Test.projekt öffnen.

hat jemand eine idee??
ich danke euch :)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Im Zweifelsfall indem du "-h" mit dem Pfad zur Datei ersetzt, das ist aber unabhaengig von Python und komplett abhaengig davon, wie dein Programm mit Projekten aufgerufen werden will.
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

Danke für die Antwort.
aber dann tut er nur das CoDeSys öffnen. der mekrt nicht was dahinter geschrieben ist!
BlackJack

@AOJ: Was sagt denn die Dokumentation des Programms über die Argumente und Optionen die man beim Aufruf hat? Was gibt denn die Option ``-h`` aus?

Kann man Projekte durch Doppelklick mit dem Programm öffnen? Falls ja, wie sieht der entsprechende Registry-Eintrag für's öffnen aus? (Frag mich nicht wie der heisst, Windows ist bei mir schon eine Weile her :-))
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

das "-h" brauch man nicht. p = subprocess.Popen(["D:\Software\CoDeSys\Common\CoDeSys.exe") reicht schon.

Projekte kann man durch Doppelklick mit dem Programm öffnen. also ich habe folgendes ausprobiert:
p = subprocess.Popen([r'D:\Jr\MSOffice10\Office14\WINWORD.exe','D:\Jr\Eigene Dateien\Test.docx']

und das geht; die word-datei Text.docx wird geöffnet aber mit codesys geht das nicht.
wie der registry-eintrag fürs öffnen aussieht, weiss ich leider nicht.
Antworten