UserLibrary XML-Wrapper: Betatester gesucht

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Immer her damit :allright:

ist schon da! :-)

Allerdings: Im Zip sind z.Zt. nur die Lib selber, der entsprechende Source
und 6 Beispiel-Source enthalten. Hilfe-Datei kommt später.

@alle, die die Lib bisher verwendet haben:

Die Funktionsnamen haben sich geändert.
Hiess es früher noch [c]PT_MSXML3_[/c]... so heisst es heute nur noch [c]MSXML3_[/c]...

Beispiel:

Aus [c]PT_MSXML3_CreateDomDocument()[/c] wird nun
[c]MSXML3_CreateDomDocument()[/c].

Einfach mit dem Editor 'PT_' durch '' ersetzen.

@derRaab:

Mit [c]MSXML3_AttributesRemoveNamedItem()[/c] kann man nun Attribute
entfernen. Näheres in den Beispielsourcen.

@dige:

ich hoffe, die Beispielsourcen geben Dir einen guten Einstieg in die
Materie. Falls etwas unklar sein sollte, sag Bescheid.

Wie gesagt: die Hilfe-Datei kommt später.
Ist 'ne ganze Menge zu tippen... [ächz]

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> ist schon da!
stimmt, die autom. Bestätigungemail sollte auch raus sein. Bestätigung ob sie angekommen ist wäre nett. (Testbetrieb :D )

>> Hilfe-Datei kommt später.
Wenn Du Dir die einfache Syntax des Generators zutraust, wäre das günstiger, ansonsten passe ich auch die chm gerne selber an.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

ts-soft hat geschrieben: stimmt, die autom. Bestätigungemail sollte auch raus sein. Bestätigung ob sie
angekommen ist wäre nett.
ist angekommen. Ich musste sie vorher aus dem Spam-Filter fischen ;-)
ts-soft hat geschrieben: Wenn Du Dir die einfache Syntax des Generators zutraust, wäre das
günstiger, ansonsten passe ich auch die chm gerne selber an.
danke für das Angebot, aber ich habe ein schönes Tool zum Generieren von
*.chm-Dateien, welches ich auch für diese Lib verwenden werde.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
mueckerich
Beiträge: 220
Registriert: 13.09.2004 11:33
Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad

Beitrag von mueckerich »

@Kiffi:

Danke für die LIB, kann ich sehr gut gebrauchen.
Gibt es inzwischen schon ein paar Beispiele und eine erweiterte Hilfedatei?
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
Benutzeravatar
derRaab
Beiträge: 71
Registriert: 30.12.2004 13:45
Wohnort: Berlin
Kontaktdaten:

Beitrag von derRaab »

Hallo Leute,

ich glaube ich habe nicht ganz kapiert wo ich die neue Lib finden kann. Im "PBOSL_SRC.zip" von http://pbosl.purearea.net/ ist sie nicht drin, oder? Komisch.

Ich arbeite noch mit der Version vom 17.01. und wollte Kiffi noch fragen, ob man Attributwerte verändern kann? Wenn in einem Attribut bereits ein Wert hinterlegt ist, kann ich diesen weder mit

Code: Alles auswählen

PT_MSXML3_AttributesPutValue(XMLDOMAttribute, sAttributeValue.s)
noch mit

Code: Alles auswählen

PT_MSXML3_SpecialSetNamedAttributeValue(XMLDOMDocument, XMLDOMNode, sAttributeName.s, sAttributeValue.s) 
überschreiben. Da steigt mir das Programm immer aus. Vielleicht mache ich ja was falsch?

Ich hänge da gerade an einem Projekt... :?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Die Datei ist immer noch aktuell, Du findest sie im Moment nur auf www.purearea.net. Die PBOSL kompatible Version unterscheidet sich auch nur im Präfix, dem das PT_ fehlt. Weitere Unterschiede sind mir nicht bekannt.
Mit der Veröffentlichung einer neuen PBOSL-Version wollte ich warten bis PB3.94 veröffentlicht ist, um eine dazu kompatible Version zu veröffentlichen.

Ansonsten habe ich von XML leider keine Ahnung und kann Dir deshalb auch nicht weiterhelfen :oops:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Hallo,
ts-soft hat geschrieben:Weitere Unterschiede sind mir nicht bekannt.
es ist die von derRaab gewünschte Funktion [c]MSXML3_AttributesRemoveNamedItem()[/c]
hinzugekommen. Konntest Du nicht wissen, weil ich Dich nicht darauf
hingewiesen habe. My fault.

Bis zum Erscheinen der neuen PBOSL habe ich einen separaten Download zur
Verfügung gestellt

Download hier
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@kiffi
thx, danke Dir erstmal, dachte eigentlich die 2 neuen Libs sind ja auch so noch erhältllich und wollte abwarten, damit unnötige downloads vermieden werden. Eine Woche werde ich noch warten, wenn es dann keine neue Version von PB gibt werde ich es Wohl hochladen und Ankündigen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
derRaab
Beiträge: 71
Registriert: 30.12.2004 13:45
Wohnort: Berlin
Kontaktdaten:

Beitrag von derRaab »

Hallo nochmal,

ich habe anscheinend einen Bug in der Library gefunden:

Es ist nicht möglich einen vorhandenen Attributwert zu überschreiben! Das verursacht einen Absturz!

Ich habe echt lange gesessen und dachte ich mache etwas falsch, aber ich bin mir jetzt sicher, dass es einen Bug gibt.

Hier eine Möglichkeit das nachzuvollziehen:

Man nehme folgende XML-Struktur:

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8"?>
<root>
	<content identifier="OLD_IDENTIFIER"/>
</root>
und führe folgenden Code aus:

Code: Alles auswählen

;- Testen der Möglichkeiten zur Änderung eines Attributewertes

; Konsole aktivieren
OpenConsole()

; neues XML-Objekt erstellen
xml = PT_MSXML3_CreateDomDocument()

; Dateistruktur einladen
PT_MSXML3_Load( xml , "./content.xml")

; Knoten mit zu änderndem Attribut ermitteln
contentNode = PT_MSXML3_SelectSingleNode( xml  ,"root/content")

; Attributname des zu ändernden Attributes
attributeName.s = "identifier"

; gewünschter neuer Attributwert    
newAttributeValue.s = "NEW_IDENTIFIER"

; Auswahlmöglichkeit der beiden Versionen 0 / 1
If 0

    ; Standardbefehle nutzen

    ; Attributliste des Knoten auslesen
    attributes = PT_MSXML3_GetAttributes( contentNode )

    ; gewünschtes Attribut darin ermitteln
    identifierAttribute = PT_MSXML3_AttributesGetNamedItem( attributes , attributeName )

    ; darin neuen Wert hinterlegen - DIESER BEFEHL VERURSACHT DEN ABSTURZ!!!!!!!!!
    PT_MSXML3_AttributesPutValue( identifierAttribute , newAttributeValue )

Else

    ; Sonderbefehl nutzen - DIESER BEFEHL VERURSACHT EBENFALLS EINEN ABSTURZ!!!!!!!    
    PT_MSXML3_SpecialSetNamedAttributeValue( xml , contentNode , attributeName , newAttributeValue ) 

EndIf

;aktuelle Struktur ausgeben
MessageRequester("New Version" , PT_MSXML3_GetXml( contentNode ) )

; Konsole schliessen
CloseConsole()
Beide Möglichkeiten der Änderung versagen, wenn das Attribut bereits existiert! Wenn man in der XML-Struktur das Attribut entfernt funktioniert es tadellos.

Um Stellungnahme wird gebeten. :mrgreen:
Benutzeravatar
derRaab
Beiträge: 71
Registriert: 30.12.2004 13:45
Wohnort: Berlin
Kontaktdaten:

Beitrag von derRaab »

Hi nochmal. Warscheinlich stehe ich auf dem Schlauch. Wenn ich die neue Lib verwenden könnte, dann könnte ich einstweilen einfach das Attribut löschen und neu setzen. Damit könnte ich weiter machen.

Nur leider habe ich nicht ganz kapiert wo ich die aktuelle Lib jetzt finden kann. Könnte mir kurz einer das Brett vorm Kopf entfernen? :roll:
Antworten