Domino 9 und frühere Versionen > ND6: Entwicklung

XML importieren in Notes

(1/2) > >>

robertpp:
Hallo,

Kann mir vielleicht jemand helfen. Ich hab folgendes XML-File:


--- Code: ---<?xml version="1.0" encoding="utf-8"?>
<Report>
  <Data>
    <Row>
      <Ask_Price>Ask Price</Ask_Price>
      <Asset_Category>Asset Category</Asset_Category>
      <Asset_Category_Description>Asset Category Description</Asset_Category_Description>
      <Asset_ID>Asset ID</Asset_ID>
      <Asset_Status>Asset Status</Asset_Status>
      <Volume>Volume</Volume>
    </Row>
    <Row>
      <Ask_Price>97.6</Ask_Price>
      <Asset_Category>ORD</Asset_Category>
      <Asset_Category_Description>Ordinary</Asset_Category_Description>
      <Asset_ID>0x0003dd0014fae3d3</Asset_ID>
      <Asset_Status>ISS</Asset_Status>
      <Asset_Status_Description>Issued</Asset_Status_Description>
      <Volume>173,554</Volume>
    </Row>
  </Data>
</Report>

--- Ende Code ---

Es sieht jetzt ein wenig eigenartig aus aber ich würde dieses File gerne ins Notes importieren. Hab mir auch schon so manche Xml2Notes Datenbank heruntergeladen und angesehen. Nur sehen die xml-Files ganz anders aus als meines.
Für Tipps wäre ich sehr dankbar wo ich mir da vielleicht einen Code ansehen kann oder wie ich das importieren kann.

Danke Robert

robertpp:
Hallo,

Ich hab gesehen, dass ich es in 7er Forum gepostet habe, sollte eigentlich in 6er.

Was ich noch dazu sagen wollte ist, ich weiß nicht warum einmal die Datenfelder als Row beschrieben sind und dann in einer eigenen Row dann die Werte dazu! Ist das beim importieren ein Problem?

Und das File sieht immer so aus, außer die Werte, die ändern sich.

danke Robert

flaite:
XML ist eigentlich kein Format sondern ein Meta-Format. Theoretisch kannst du per XSLT die von dir gepostete xml Daten direkt in DXL-Dokument Instanzen konvertieren. Lass das aber.
Du kannst mit den in LotusScript vorhandenen XML Parsern (Dom und SAX) die Datei auslesen und aus den Daten kannst du dann "traditionell"  Notes Dokumente  erzeugen (NotesDatabase.createDocument().
Normalerweise  würde ich für diese Aufgabe SAX benutzen wg. Performance, in Java noch ganz andere Sachen. Für den Anfang ist es  aber  vielleicht besser den Dom Parser zu nehmen.
Such einfach in der Hilfe nach NotesDOMParser. Da ist ein Beispiel dabei. Kopiers dir, pass es dir an und schau dir an, was im Debugger passiert. 
Es ist nicht einfach zu erklären, wenn sich Leute noch nicht mit xml-Parsing beschäftigt haben. Einfach mal die Beispiele aus der Hilfe ausprobieren. Es ist dann in quasi jeder Programmiersprache oder Umgebung mit Ausnahme von JavaScript mehr oder weniger ähnlich (.NET, Java/J2EE, Domino, Ruby on Rails, etc.), wobei einige mittlerweile mehr sophisticated Arten von xml Parsing kennen. Dafür sollte man aber die Basics (DOM und SAX Parsing) sowieso verstanden haben.

Gruß Axel

robertpp:
Hallo Axel,

Ich will das eh so einfach wie möglich machen! Ich hab mir das jetzt mal angesehen komm da aber garnicht weiter! Wäre für einen kleinen Tipp noch dankbar.

robert

flaite:
Das ist einfach, wenn du das einmal gemacht hast.
Für nächtliche Coding-Aktionen hab ich momentan einfach zu viel Projekt.
Ich hab das jetzt nach 250 km autofahren, 0.6 Liter Pfundstädter und 11 Stunden Arbeit schnell mal ausprobiert. Geht.
Kanns leider nicht vom Lapptop auf diesen PC transportieren. Der hat kein Notes.

Die Klasse NotesDomParser in der Hilfe hat ein Beispiel.
Ich hab deine Datei abgetippt und den Code von der HIlfe in einen Notes-Agenten kopiert.
Das Parsen macht schon das Beispiel aus der Hilfe.
Da wird gleichzeitig eine Report-Datei erzeugt.
Anstatt eine Report-Datei zu erzeugen Notes-Dokumente zu erzeugen ist wirklich einfache Standard-LotusScript Programmierung. Poste das morgen mal.

Gruß Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln