Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  XML im CATVBS elegant verarbeiten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  XML im CATVBS elegant verarbeiten (1329 mal gelesen)
HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 12. Jul. 2012 16:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

bin gerade dabei ein CATVBS zu schreiben (muss auf allen Plattformen laufen).
Solch ein Skript ist ja immer technologisch nicht ganz so weit vorn. :-)

Jedenfalls habe ich jetzt XML-Dateien zu verarbeiten. Kann ich natürlich textbasiert machen, aber lieber wäre mir mit DOM und SaaS. Daher frage ich einfach mal in die Runde: Habt ihr zufällig eine Idee, ob es sowas in CATIA schon gibt, also um XML elegant zu verarbeiten.
Ich mein CATIA integriert ja, um überall zu funktionieren, auch Funktionen wie das FileSystem-Object, so dass ich nicht das aus dem Windows bemühen muss und mir auch sonst keinen Kopf machen muss.
Selbiges gilt für die Verknüpfung von Pfaden.

Daher meine Hoffnung, dass vielleicht einer ein ähnliches Objekt kennt, welches mir CATIA zur Verfügung stellt. Eine Seite wie ich so etwas effizient selbst basteln kann würde mir auch schon reichen.

Im CAA wär's jetzt trivial, aber es steht leider nicht die Zeit zur Verfügung ein alternatives CAA zu schreiben.

Danke für eure Unterstützung!

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 12. Jul. 2012 20:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HoBLila 10 Unities + Antwort hilfreich

Hallo Henry,

ich denke da existiert kein Objekt. So wie ich DSS kenne gibt es das Interface nur in CAA. Aber du kannst doch ein TCL/TK schreiben. Da gibt es soweit ich weiß Klassen zur Verarbeitung von xml-Objekten (plattformunabhängig ist es auch!)

Was spricht gegen das schreiben eigener Klassen für die Verarbeitung. Ich weiß ist nicht ganz so schön wenn diese Funktionen im Quelltext stehen aber Objekte gibt es ja IMHO keine auf die du zurückgreifen kannst 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 13. Jul. 2012 08:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,

danke, dass Du meine Annahmen bestätigst. Hilft mir sehr bei der Analyse der Situation.

Bin nun auch so weit entweder eigenen Parser zu schreiben oder den vom perl zu verwenden.
Tcl ist mir zu langsam, geht in meinem Fall um ein kleines Modul, welches CATIA-Daten nach XML extrahieren wird. Das kommt dann in einem Batchprozess auf einem Konvertierserver zum Einsatz. Daher große Datenmengen und später eine Ablösung als CAA.

Denke ich werde dabei bleiben nen eigenen kleinen Parser für diese Angelegenheit zu schreiben, den kann man dann ja öffentlich zur Verfügung stellen und gemeinsam optimieren.
Denke mal sowas werde ich in Zukunft sowieso öfter brauchen. :-)

Ich bin zusätzlich in der glücklichen Lage, dass ich nur meine eigenen XML-Settings auslesen muss und ansonsten nur XML schreibe, mich aber an eine Schema-Datei halten muss.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 13. Jul. 2012 09:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HoBLila 10 Unities + Antwort hilfreich

Hi,

das wäre doch mal ein Projekt. Einen eigenen CATVbs XML-Parser ;-). Falls du was online stellt werde ich mich an der Optimierung beteiligen!

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 06. Dez. 2012 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


XMLParser.zip

 
Anbei mein XMLParser in der aktuellen Ausprägung.

Ich habe jetzt kein Beispiel angefügt, hoffe aber Du kommst damit klar.

Solltest Du ein Beispiel haben, so wäre es sicher auch nett dieses hier anzufügen.

Ich verwende meine eigene Dictionary-Klasse aus http://ww3.cad.de/foren/ubb/Forum137/HTML/005045.shtml#000008 als Grundlage.

Wie in http://ww3.cad.de/foren/ubb/Forum137/HTML/005198.shtml zu lesen ist, gibt's noch ein paar Probleme auf Unix-Systemen.

Der Parser selbst ist noch nicht vollständig, da er nur die Funktionen enthält, die ich bisher brauche. Mir fällt die Verarbeitung von XML dadurch aber extrem leichter, da ich nicht merh so viel nachdenken muss und die Formatierung vom Parser übernommen wird.

Es gibt Funktionen zum Schreiben und zum Lesen. In beiden Fällen dient eine Objektstruktur, die ihre eigenen Einträge erzeugt, als Grundlage.

Über openFile() kann eine Datei geöffnet werden. Verarbeitet wird sie erst, wenn man nach Einträgen in dieser Datei fragt oder sucht.

Über writeFile() kann man die aktuellen Objekte nach XML rausschreiben lassen.

smallXQuery() soll ein XQuery imitieren und lässt z.B. Abfragen wie

Code:

myXMLElementsWork = parserXMLMy.smallXQuery("Settings/OutputPath", "")

zu, welche dann die passenden XML-Elemente zurückgibt.

Wichtig ist dann, dass man mit den XML-Elementen umgehen kann, die dann Childs, Text und Attribute haben. Aber das seht ihr schon am Code.

Ich kann das Ganze auch als VBA-Projekt zur Verfügung stellen, in diesem editiere ich zumindest und lasse es dann von meinem Converter (http://ww3.cad.de/foren/ubb/Forum137/HTML/005045.shtml#000007) nach VBS umwandeln.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

Stammtisch in Wolfsburg am 03.12.2012

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz