xml Bearbeitung

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
safran
Beiträge: 94
Registriert: 02.01.2008 04:46:07
Lizenz eigener Beiträge: Artistic Lizenz

xml Bearbeitung

Beitrag von safran » 19.04.2018 11:53:39

Hallo,

nachdem ich vor einigen Tagen bereits zum Thema xml gepostet hatte, viewtopic.php?f=34&t=169353, hab ich die Antworten sehr beherzigt und mich in das thema xpath und xml als Befehl eingearbeitet.

Was ich mich dazu frage:
Überall im Internet bei Howto Seiten steht der Befehl xml , doch diesen hab ich garnicht in meinem System, ich habe
xml2pot xmlcatalog xmllint xmlparse xmlpatterns xmlpatternsvalidator xmlstarlet
1.
aber nicht dieses xml. Wo ist die? Wurde die ersetzt? Hab ziemlich viele Pakete installiert aus den Standartrepos die mit xml zutun haben und da ist sie nicht auffindbar.

Mit xmllint in Kombination mit --xpath hab ich bereits sehr gute Erfahrungen gesammelt.

2. [gelöst]
Doch wie geht es weiter mit der Modifikation von XML Dateien, also Einträge in die XML Dateien hineinschreiben, erst einmal noch aus der Shell mit diesen xml-tools? (ich beherzige wie bereits im Vorpost besprochen, bald Python dazuzupacken, doch erst einmal will ich noch mit der Shell und den xml Basics an die Grenzen gehen)
http://xmlstar.sourceforge.net/doc/UG/x ... 7139594320 dort heisst es eben auch xml den ich nicht hab, versuche ich da zB. mit

Code: Alles auswählen

xmlstarlet ed -d "/company/branch[@id='31']" example.xml 
das rauszulöschen zeigt er mir in der Standartausgabe die XML Datei korrekt ohne den Eintrag an, aber es wird nichts physisch gelöscht in der Datei.
Antwort: man muss noch --inplace dazupacken, damit der Befehl es ernst meint und richtig die Datei physisch umschreibt anstelle nur an die Standartausgabe "wie es wäre" auszugeben.



Und dann eine wichtige allgemeine Frage:

3.
Ich möchte gerne ein ganzes Dateisystem überwachen, bei dem XML Einträge entsprechend modifiziert bzw angelegt werden, ne nachdem welche Dateien eingespeichert werden.

Als Beispiel, heute werden zwei neue Dateien in die Dateistruktur abgelegt, bzw als Symblinks reingesetzt, wie kann man das am besten so gestalten, dass dann das Programm diese neuen Dateien als Neue erkennt und nur diese einpflegt, anstelle dass bei jedem Programmaufruf alle Dateien durchgegangen werden und jedes mal aufs neue in die XML Datei geschrieben werden? Mit Zeitstempelsignaturen oder was empfiehlt sich da?

ViNic

Re: xml Bearbeitung

Beitrag von ViNic » 19.04.2018 20:03:47

safran hat geschrieben: ↑ zum Beitrag ↑
19.04.2018 11:53:39
Überall im Internet bei Howto Seiten steht der Befehl xml , doch diesen hab ich garnicht in meinem System
XML ist kein Befehl, es ist ein Datei-Format und eine Auszeichnungssprache. Hierzu ist etwas auf Wikipedia zu finden, https://de.wikipedia.org/wiki/Extensibl ... p_Language
safran hat geschrieben: ↑ zum Beitrag ↑
19.04.2018 11:53:39
, ich habe
xml2pot xmlcatalog xmllint xmlparse xmlpatterns xmlpatternsvalidator xmlstarlet
1.
aber nicht dieses xml. Wo ist die? Wurde die ersetzt? Hab ziemlich viele Pakete installiert aus den Standartrepos die mit xml zutun haben und da ist sie nicht auffindbar.
Und das sind Programme die den XML-Format verarbeiten können.

Du kannst zum Beispiel eine einfache Textdatei anlegen und dort irgendetwas reinschreiben, zb. "Das heutige Wetter war schön!". Ich nehme an falls du jetzt diese Programme auf deine Textdatei anwendest, wird es vermutlich viele Fehler regnen. Falls du den Satz in tags legst, zb. "<text>Das heutige Wetter war schön!</text>", können diese Programme eher damit etwas anfangen.

MfG

Benutzeravatar
safran
Beiträge: 94
Registriert: 02.01.2008 04:46:07
Lizenz eigener Beiträge: Artistic Lizenz

Re: xml Bearbeitung

Beitrag von safran » 19.04.2018 20:12:09

ViNic hat geschrieben: ↑ zum Beitrag ↑
19.04.2018 20:03:47
XML ist kein Befehl, es ist ein Datei-Format und eine Auszeichnungssprache. Hierzu ist etwas auf Wikipedia zu finden, https://de.wikipedia.org/wiki/Extensibl ... p_Language
http://xmlstar.sourceforge.net/doc/UG/x ... 7139594320

da steht

Code: Alles auswählen

Here is the synopsis for 'xml ed' command:

XMLStarlet Toolkit: Edit XML document(s)
Usage: xml ed <global-options> {<action>} [ <xml-file-or-uri> ... ]
where
  <global-options>  - global options for editing
  <xml-file-or-uri> - input XML document file name/uri (stdin is used if missing)
es gibt also xml als Programm... aber nicht bei mir unter /usr/bin

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: xml Bearbeitung

Beitrag von eggy » 19.04.2018 20:33:32

wurde wohl umbenannt
https://bugs.debian.org/cgi-bin/bugrepo ... bug=621755
There are inconsistencies in the documentation due to the rename of the binary from xml to xmlstarlet

Antworten