UserLibrary XML-Wrapper: Betatester gesucht

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
derRaab
Beiträge: 71
Registriert: 30.12.2004 13:45
Wohnort: Berlin
Kontaktdaten:

Beitrag von derRaab »

Ok. :mrgreen:

Dann werde ich mich wohl gedulden bis nächste Woche. Ich könnte auch einen Workaround finden, aber das spare ich mir dann.

Dann hätte ich noch einen anderen Wunsch: Das mag Dir vielleicht etwas unnützt vorkommen, aber vielleicht könntest Du eine Option einbauen, die beim Speichern des XML als Datei Tabs und Zeilenumbrüche einfügt, um so beim Öffnen der Datei mit einem Standardeditor eine übersichtliche Darstellung zur manuellen Weiterbearbeitung vorhanden ist.

Vielleicht läßt sich das ja recht einfach umsetzten? :oops:

So ähnlich wie bei meiner bescheidenen rekursiven Funktion:
http://www.robsite.de/php/pureboard/vie ... highlight=

Aber schon jetzt Danke für die Lib...
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

ich finde einfach keine Möglichkeit, den Inhalt einer Eigenschaft eines Nodes auszulesen.

EDIT: also ich hol mir die AttributeList und dann weiß ich nicht mehr weiter. Ich habe nur eine Eigenschaft (string) und würde die gerne auslesen.

Danke, Simon
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> ich finde einfach keine Möglichkeit, den Inhalt einer Eigenschaft eines
> Nodes auszulesen.

ich nehme an, daß Du mit 'Eigenschaften' die 'Attribute' eines Nodes
meinst.

wenn ja: dafür kannst Du folgendes nehmen:

Konventionell:

Code: Alles auswählen


  oDomDoc = PT_MSXML3CreateDomDocument()
  
  If oDomDoc
    
    sXML.s = "<items>"
    sXML.s + " <item id='1'>Eintrag 1</item>"
    sXML.s + " <item id='2'>Eintrag 2</item>"
    sXML.s + " <item id='3'>Eintrag 3</item>"
    sXML.s + " <item id='4'>Eintrag 4</item>"
    sXML.s + " <item id='5'/>"
    sXML.s + "</items>"
    
    If PT_MSXML3LoadXML(oDomDoc, sXML)
      
      oNode = PT_MSXML3SelectSingleNode(oDomDoc,"items/item")
      
      If oNode
        
        oAttributes = PT_MSXML3GetAttributes(oNode)
        
        If oAttributes
          
          oAttribute = PT_MSXML3GetNamedItem(oAttributes, "id")
          
          If oAttribute
            
            MessageRequester("", PT_MSXML3GetText(oAttribute))
            
          EndIf
          
        EndIf
        
      EndIf
      
    EndIf
    
  EndIf

oder mit einer special-Function:

Code: Alles auswählen


  oDomDoc = PT_MSXML3CreateDomDocument()
  
  If oDomDoc
    
    sXML.s = "<items>"
    sXML.s + " <item id='1'>Eintrag 1</item>"
    sXML.s + " <item id='2'>Eintrag 2</item>"
    sXML.s + " <item id='3'>Eintrag 3</item>"
    sXML.s + " <item id='4'>Eintrag 4</item>"
    sXML.s + " <item id='5'/>"
    sXML.s + "</items>"
    
    If PT_MSXML3LoadXML(oDomDoc, sXML)
      
      oNode = PT_MSXML3SelectSingleNode(oDomDoc,"items/item")
      
      If oNode
        
        MessageRequester("", PT_MSXML3SpecialGetNamedAttributeValue(oNode, "id") )
        
      EndIf
      
    EndIf
    
  EndIf

Grüße ... Kiffi
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Cool! Danke!
Deine Lib gefällt mir Prima, aber über ausführliche deutsche Hilfetexte und ein paar mehr Beispiele wäre ich super glücklich. Wobei ich dich natürlich sonst auch im Forum stören kann :D

Simon
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
derRaab
Beiträge: 71
Registriert: 30.12.2004 13:45
Wohnort: Berlin
Kontaktdaten:

Beitrag von derRaab »

Hallo <)

Ich wollte mich kurz erkundigen, ob kiffi evtl. dazu gekommen ist, die Funktion 'PT_MSXML3InsertBefore' zu aktivieren?

:mrgreen:
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Ich wollte mich kurz erkundigen, ob kiffi evtl. dazu gekommen ist, die
> Funktion 'PT_MSXML3InsertBefore' zu aktivieren?

Mensch, immer dieser Stress! ;)

OK, die neue Version ist nun online und unter

http://b-4-b.de/pt_msxml3_2005-01-17.zip

verfügbar.

Wichtig! Die Schreibweise der Funktionen wurde verändert. Hinter
PT_MSXML3 folgt nun zur besseren Übersicht ein Unterstrich und dann erst
der eigentliche Funktionsname. Beispiel:

PT_MSXML3InsertBefore() -> PT_MSXML3_InsertBefore

Diese Schreibweise hatte ich schon in meiner ersten Version vor, aber
konnte das durch einen Fehler in TailBite nicht realisieren. Da der Fehler
nun von El_Choni behoben wurde (an dieser Stelle noch mal vielen Dank!),
habe ich mein Vorhaben nachgeholt.

Für diejenigen, die die Lib schon im Einsatz haben bedeutet das: Suchen im
Quelltext nach "PT_MSXML3" und ersetzen durch "PT_MSXML3_"

Ebenso wurden die Attribut-relevanten Funktionen auch umbenannt.

PT_MSXML3_GetValue() -> PT_MSXML3_AttributesGetValue()
PT_MSXML3_PutValue() -> PT_MSXML3_AttributesPutValue()

Sorry für die Umstände!

Geändert in dieser Version:

* PT_MSXML3 benötigt nun keine COMLIB mehr.

* PT_MSXML3_InsertBefore funktioniert nun endlich :)

* PT_MSXML3_Save() funktioniert nun korrekt.

* Neue Funktion PT_MSXML3_SpecialSetNamedAttributeValue().
Hiermit kann man komfortabel den Attribut-Wert eines Nodes
verändern.

Noch nicht geändert:

* PT_MSXML3_CreateNode() habe ich noch immer nicht zum Laufen
bekommen und vorerst aus der Lib entfernt. Als Ersatz kann hier
PT_MSXML3_CreateElement() verwendet werden.

* Es gibt noch immer keine Online-Hilfe, sondern nur eine Befehlsreferenz.
Sorry for that!

Viel Spass beim Ausprobieren! :)

Ich stehe Euch latürnich wie immer mit Rat & Tat zur Seite.

Grüße ... Kiffi
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

:allright: :allright: und danke!
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

whow! Super.
Bei den neuen Befehlsnamen wär ich wohl auch draufgekommen, wie man ein Attribut-Wert bekommt :D
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Bei den neuen Befehlsnamen wär ich wohl auch draufgekommen,
> wie man ein Attribut-Wert bekommt :D

nun ja, ich wollte eigentlich die Funktionen so benennen, wie sie in der
MSXML3.DLL angegeben worden sind. Leider leidet dadurch die Bedienbarkeit
der Lib erheblich, weil MS ziemlich inkonsequent die Bezeichnungen vergeben
hat.

Grüße ... Kiffi
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Ich fänds übrigens auch besser (hoffe, das löst jetzt keinen Glaubesnkrieg aus) kürzere Funktionsnamen zu haben, z.B. XML_funktion()
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Antworten