多くの企業のデータを含む大きなXMLファイルがあり、このXMLファイルをメモデータベースのドキュメントに変換するのが好きです。会社ごとに1つのドキュメントが必要です。これを行う最も簡単な方法は何でしょうか?Oxygenというツールをダウンロードしてデータを読み取り、XMLファイルのJSONファイルを作成することができました。JSONの方が簡単かもしれませんが、次に何をすべきかわかりません。
5 に答える
これはあなたが求めていたものではありませんが、代わりになるかもしれません。XMLを取得し、そこからドミノドキュメントを生成するツールや組み込みのものを私は知りません。ただし、以下のリンクはサーバー側のJavaScriptを使用してXMLを取得し、最終的にXPagesデータテーブルコントロールに表示されます。
役立つかもしれません:
http://xpagesblog.com/XPagesHome.nsf/Entry.xsp?documentId=3939DB27A4536248852578CB00667264
XMLを読み取るために、私はwww.nsftools.com/tips/XmlNodeReader/を使用します。これにより、ノードがすばやく取り込まれます。ノードを読み取ったら、その値をNotesDocumentに入れることができます。
JSONを作成するために私が見つけた最良の方法は、http: //www.openntf.org/internal/home.nsf/release.xsp?action = openDocument&documentId=543656F34C821A2A862576650054BDC2を使用することです。
ドミノサーバーのhtml部分のルートに、jsonが機能するかどうかわからない、xmlまたはjsonファイルを配置することをお勧めします。
そして、ある種のフィード リーダーを使用してドキュメントを作成します。フィールドを含むフォームが必要になるか、xml でフィールドを変更して、既存のフォームを使用できるようにします。
既存のアプリにデータが必要だと思います。
手元にコードがありません。申し訳ありません。
しかし、サイモンは良い提案をしています。また、Stevens が提案したチュートリアルは検討する価値があります。
それが役に立てば幸い。個人的には、あなたが成功したかどうか、そしてもちろんどのように成功したか知りたいです。
XML ファイルを受け取ったとしても、それを JSON に変換するのに時間はかかりません。変換後に得られる可能性のある独自の欠点と相違点がすべてあります。
前述のように、saxparser を使用してコンテンツを解析する必要があります。素敵なファクトリ パターンにまとめれば、後で簡単に拡張できます。
例えば
public class XmlDocumentConverterFactory(){
public static AbstractXMLTDocumentConverter getConverter(String form) throws unsupportedDocumentTypeException {
// get sax parser
AbstractDocumentConverter converter = null;
if("Company".equals(form)){
converter = new CompanyDocumentConverter();
}else if("Contact".equals(form)){
converter = new ContactDocumentConverter();
}else}
throw unsupportedDocumentTypeException("A Document of type "+form+" is not supported");
}
SaxParser parser = SaxParser.getInstance();
converter.setParser(parser);
return converter;
}
}
class abstractXMLToDocumentConverter{
protected SaxParser parserInstance = null;
public NotesDocument parseDocument(XMLDocument doc);
public void setParser(SaxParser instance){
this.parserInstance = instance;
}
}
// these classes should implement the eventhandlers used by the parser
// they also need to implement the only method from their parent.
// when you want to import an xml document simply call factory.getConverter(yourform).parse(xml).
class ContactDocumentConverter extends AbstractDocumentConverter(){}
class CompanyDocumentConverter extends AbstractDocumentConverter(){}
このようにして、将来同じことを再度行う必要がある場合は、else ステートメントをファクトリに追加して、新しい DocumentConverter クラスを作成するだけで済みます。やさしい。