Domino 9 und frühere Versionen > ND6: Entwicklung
XML von Grund auf mit Lotusscript erstellen
botschi:
Ja, aber da kann ich Dir nicht weiterhelfen...
Matthias
flaite:
--- Zitat von: botschi am 13.11.07 - 15:10:07 ---
Da brauchst Du kein XML-Parser oder sowas für- bin ich der Meinung...
--- Ende Zitat ---
I second that a lot.
Es ist eben gerade nicht professioneller etwas umständlicheres zu nehmen.
Am Ende des Tages gehts eigentlich meist darum, dass man
a) Datenstrukturen aus deinem Programm zu xml machst (XML-Serialisierung).
b) XML zu Datenstrukturen für dein Programm machst (XML-De-Serialisierung).
Für a) ist die direkte Konkenatierung als String in vielen Fällen eine effiziente Möglichkeit. So stehts auch beim true xml intelectual Elliotte Rusty Harold (http://www.cafeconleche.org/)
Die XML-DOM Api ist - find nicht nur ich - ziemlich aufwendig. Würd mich auf jeden Fall auch mal mit der SAX-API beschäftigen (mit der kann man aber nur b) machen. Für a) wie gesagt: String Konkenatierung. Damit hab ich schon komplexe SOAP konforme XML Files zusammengekleistert und dem SAP Server ist es auch egal.
Heute gibts viel effektivere XML-Apis. Zum Beispiel für in Notes nutzbareres Java.
Unterstützt bitte mein Lobbying für XPath in Lotus Script:
http://ideajam.net/IdeaJam/P/ij.nsf/0/7F9DF9E5304E3AD08625738A00651D8B?OpenDocument
Ich mach sowas mit Java, aber mit eigenen LotusScript Structs oder Klassen kannst du das effizienter machen.
--- Code: ---class Tag
private tagName as String
private tagTextNode As String
private childNodes as Variant '(ein Array aus Tag-Objekten)
private attrNames as Variant ' (ein Array aus attribut-Namen als String array. Hat genauso viele Elemente wie attrValues
private attrValues as Variant ' (ein Array aus attribut-Werten als String array. Hat genauso viele Elemente wie attrNames
public new (tagName as String, tagTextNode as String)
' musst du selbst machen
end new
public sub addAttr(name as String, value as String)
' musst du selbst machen
end sub
public sub addChildTag(Variant tag)
'musst du selbst machen
end sub
public sub addChildTags(Variant array_of_tags)
'musst du selbst machen
end sub
public function toXml() as String
' musst du selbst machen
end function
end class
--- Ende Code ---
Gruß Axel
botschi:
Ich verstehe kein Wort ???
Aber muss ich ja auch nicht :D
Matthias
flaite:
Wieso.
Als Code, der die Klasse nutzt sowas wie:
--- Code: ---Dim tagColumnHeader as Tag
Dim tagColumn As Tag
tagColumn = new Tag("column", "")
tagColum.addAttribute("itemname", mstrItemName)
tagColum.addAttribute("width", mstrWidth)
[...]
tagColumn.addChildTag(tagColumnHeader)
--- Ende Code ---
Mit so etwas bekommst du code hin, der wiederverwendbareren und übersichtlicheren XML-Generier-Code erzeugt.
Gruß Axel
botschi:
Ah, alles klar.
Ich habs nicht gleich verstanden, auf was Du hinaus willst. Bei "I second that a lot" bin ich schon ausgestiegen ;D
Matthias
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln