JSFトマホーク経由でxmlファイルをアップロードしてから解析したいと思います。
次のフォームを作成しました。
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>Import</title>
</h:head>
<h:body>
<h1>Import</h1>
<h:form enctype="multipart/form-data">
XML Datei mit den Kursdaten:
<t:inputFileUpload value="#{installationBean.uploadedFile}" />
<h:commandButton value="submit" action="#{installationBean.submit}" />
<h:messages />
</h:form>
</h:body>
これは豆です:
パッケージのインストール。
import java.io.IOException;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.apache.commons.io.FilenameUtils;
import org.apache.myfaces.custom.fileupload.UploadedFile;
@Stateless
@LocalBean
@ManagedBean
@ViewScoped
public class InstallationBean {
private UploadedFile uploadedFile;
public UploadedFile getUploadedFile() {
return uploadedFile;
}
public void setUploadedFile(UploadedFile value) {
uploadedFile = value;
}
public void submit()throws IOException {
String fileName = FilenameUtils.getName(uploadedFile.getName());
String contentType = uploadedFile.getContentType();
byte[] bytes = uploadedFile.getBytes();
// Parse xml
}
}
私がアップロードするファイルはxmlファイルです。どうすればxmlを解析できますか?上記のコードでは、ファイルをアップロードした後にバイト配列を取得しました。これをxmlファイルに変換して解析するにはどうすればよいですか?