Javaでhow-to-serialize-deserialize-simple-classes-to-xml-and-back(C#)で行われていることをアーカイブしようとしています。可能であれば、クラスごとにシリアライズ/デシリアライズメソッドを記述しないでください。例えばWoodstox StAX 2でXMLのクラスをシリアライズ/デシリアライズする方法
、シリアル化の一部:
私は1 1で問題に取り組むためにしようとしているが、あなたに私が何をしようとしている感を与える可能性があるとしてXMLOutputFactory xof = null;
XMLStreamWriter2 writer = null;
try {
resp.setContentType("text/plain");
xof = XMLOutputFactory.newInstance();
writer = (XMLStreamWriter2) //
xof.createXMLStreamWriter(resp.getOutputStream());
writer.writeStartDocument("1.0");
writer.writeStartElement("data");
//
// Magic happens here.
//
writer.writeEndElement();
writer.writeEndDocument();
} catch (XMLStreamException e) {
e.printStackTrace();
resp.sendError(1, "Problem 1 occured.");
} finally {
try {
writer.flush();
writer.close();
} catch (XMLStreamException e) {
e.printStackTrace();
resp.sendError(2, "Problem 2 occured.");
}
}
この質問の一部ではありません、 。逆シリアル化するときに、入力が有効かどうかを確認したいと思います。最終的には、シリアル化された形式でXSLT変換を使用したいと考えています。
あなたは、その分野の素晴らしい知識を持っています。 – Margus
ありがとうMargus、私はXMLバインディング・ソリューションをかなりの年(EclipseLink MOXy)でリードしてきました。私はJAXB(http://jcp.org/ja/jsr/detail?id=222)とSDO(http://jcp.org/ja/jsr/detail)の2つのJava関連標準のアクティブなメンバーです。 ?id = 235)。他のエンタープライズJavaスタックとの統合が進んでいるので、Javaの標準的なソリューションをお勧めします。たとえば、JAXBは、JAX-WS(XML Webサービス)とJAX-RS(RESTful Webサービス)の両方に対する標準のバインディングレイヤです。追加情報が必要な場合はお知らせください。 –
@BlaiseDoughanあなたが言及したように、バリデーションを作成して解析する2つのステップを伴わずにJAXBアンマーシャリングを使用しているときにXML全体をDTDに対して検証するためにSchemaインスタンスを設定するにはどうすればよいですか?これを指すポインタは参考になります – Ajay