Hallo,
ich möchte den Inhalt eines Dokuments (einer Mail) in einem XML-File speichern. Dazu folgender Code:
if(item.getName().equals("Body")){
Element e = mail.addElement("Body");
e.addText(doc.getItemValueString(item.getName()));
}
"mail" ist ein dom4J-Objekt und "doc" das Dokument aus dem ich extrahieren möchte. Klappt auch alles wunderbar, sobald ich aber eine HTML-Email vorliegen habe, wird lediglich der Plaintext an dieser Stelle extrahiert. Sämtliche HTML-Tags gehen verloren. Jemand eine Idee wie ich an den "Quellcode" (samt HTML-Tags) der Mail komme?
Gruß,
Sebastian
egal was ich mache,
document.getMimeEntity();
gibt mir IMMER null zurück.
Folgende Beobachtung: Im NotesClient in den Dokument-Eigenschaften wird mir unter Body folgendes angezeigt:
Feldname: Body
Datentyp: MIME-Element
...
Content-Transfer-Encoding: 8bit
Content-Type: text/html;
Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset=ISO-8859-15
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<div class="moz-text-html" lang="x-western">
<h1>Überschrift</h1>
...
Insgesamt existieren 5 Body Items (2 davon sind Attachments). Wenn ich via
Vector items = doc.getItems();
for (Object o : items){
Item item = (Item) o;
}
bekomme ich ein Bodyitem angezeigt, welches dann den Text (ohne jedwede Formatinfo) enthält. Nach dem Cast ist das Item allerdings vom Typ RichTextItem. Wenn ich jetzt das Itemobjekt zu Richtextitem caste, und dann
Richtextitem.getFormattedText(false, 0, 0);
(mit getUnformattedText() gibt es im übrigen auch keine Tags)
anwende, bekomme ich nach wie vor nur einen String ohne jegliche Formatierungsangaben zurück. Es muss doch irgendwie möglich sein, an den MimeEntity bzw. den kompletten Text aus dem Body-Item (inklusive HTML-Tags) zu kommen! Btw.:
session.setConvertMIME(false);
ist natürlich gesetzt :)
Gruß,
Sebastian