Я делаю домашнее задание, и у меня тут немного проблем.Вот в чем дело: мне пришлось создать программу на C #, которая взаимодействует с конечной точкой Java.Я пытался настроить веб-приложение на Java, где пользователь может дать некоторую информацию и зарегистрироваться в службе.Сначала я думал, что приложение Java будет генерировать XML от пользователя, затем приложение C # может загрузить файл, если необходимо, и затем настроить его.
Итак, я создал класс и назовем его Guest, с некоторыми полями данных.Затем я создал одноэлементный класс GuestContainer для всех зарегистрированных гостей с ArrayList, который содержит всех гостей.Если гость добавлен, GuestContainer должен создать из них XML-файл.Кажется, все работает, за исключением того, что Java не создает никаких файлов ...
import java.io.File;
import java.io.Serializable;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "guest")
public class Guest{
private String name;
private String city;
private String phoneNumber;
@XmlElement(name = "name")
public String getName() {
return name;
}
@XmlElement(name = "city")
public String getCity() {
return city;
}
@XmlElement(name = "phoneNumber")
public String getPhoneNumber() {
return phoneNumber;
}
public Guest(String name, String city, String phoneNumber) {
this.name = name;
this.city = city;
this.phoneNumber = phoneNumber;
}
Мой GuestContainer:
package Model;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.*;
import javanet.staxutils.XMLStreamEventWriter;
import javax.xml.bind.*;
public class GuestContainer{
private ArrayList<Guest> guests;
private static GuestContainer container;
private JAXBContext context;
private Marshaller _m;
public static GuestContainer getInstance() throws JAXBException{
if (container == null) {
container = new GuestContainer();
}
return container;
}
private GuestContainer() throws JAXBException{
this.guests = new ArrayList<Guest>();
this.context = JAXBContext.newInstance(Guest.class);
this._m = this.context.createMarshaller();
this._m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
}
public void AddGuest(Guest guest) throws JAXBException,
FileNotFoundException{
guests.add(guest);
MakeFile();
}
private void MakeFile() throws PropertyException, JAXBException,
FileNotFoundException{
for (Guest guest : this.guests) {
///guest.ToXML(file);
_m.marshal(guest, new File("guests.xml"));
}
}
Поэтому я хочу получить вывод XML, где присутствуют все гости, нок сожалению, у меня нет ни ошибок, ни XML.