-
Notifications
You must be signed in to change notification settings - Fork 0
/
DatabaseForXMLChat.java
60 lines (50 loc) · 2.02 KB
/
DatabaseForXMLChat.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.afonina;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Text;
import java.beans.Statement;
import java.util.ArrayList;
public class DatabaseForXMLChat {
private Statement statement;
private Document mainDoc;
private ArrayList<String[]> messList = new ArrayList<String[]>();
public DatabaseForXMLChat () {
mainDoc = buildDoc(messList);
}
private Document buildDoc(ArrayList<String[]> messageList) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try{
builder = dbf.newDocumentBuilder();}
catch (ParserConfigurationException e) {
e.printStackTrace();
}
Document document = builder.newDocument();
Element messages = document.createElement("messages");
document.appendChild(messages);
for (int i = 0; i < messageList.size(); i++) {
Element chatMessage = document.createElement("chat-message");
messages.appendChild(chatMessage);
chatMessage.setAttribute("id",Integer.toString(i));
Element sender = document.createElement("sender");
chatMessage.appendChild(sender);
Text senderText = document.createTextNode(messageList.get(i)[0]);
sender.appendChild(senderText);
Element message = document.createElement("message");
chatMessage.appendChild(message);
Text messageText = document.createTextNode(messageList.get(i)[1]);
message.appendChild(messageText);
}
return document;
}
public void addMessageToDB(String message) {
messList.add(new String[]{"User", message});
mainDoc = buildDoc(messList);
}
public Document getMainDoc() {
return mainDoc;
}
}