0

多くの企業のデータを含む大きなXMLファイルがあり、このXMLファイルをメモデータベースのドキュメントに変換するのが好きです。会社ごとに1つのドキュメントが必要です。これを行う最も簡単な方法は何でしょうか?Oxygenというツールをダウンロードしてデータを読み取り、XMLファイルのJSONファイルを作成することができました。JSONの方が簡単かもしれませんが、次に何をすべきかわかりません。

4

5 に答える 5

0

これはあなたが求めていたものではありませんが、代わりになるかもしれません。XMLを取得し、そこからドミノドキュメントを生成するツールや組み込みのものを私は知りません。ただし、以下のリンクはサーバー側のJavaScriptを使用してXMLを取得し、最終的にXPagesデータテーブルコントロールに表示されます。

役立つかもしれません:

http://xpagesblog.com/XPagesHome.nsf/Entry.xsp?documentId=3939DB27A4536248852578CB00667264

于 2012-07-11T10:22:14.343 に答える
0

XMLを読み取るために、私はwww.nsftools.com/tips/XmlNodeReader/を使用します。これにより、ノードがすばやく取り込まれます。ノードを読み取ったら、その値をNotesDocumentに入れることができます。

JSONを作成するために私が見つけた最良の方法は、http: //www.openntf.org/internal/home.nsf/release.xsp?action = openDocument&documentId=543656F34C821A2A862576650054BDC2を使用することです。

于 2012-07-12T18:00:12.297 に答える
0

ドミノサーバーのhtml部分のルートに、jsonが機能するかどうかわからない、xmlまたはjsonファイルを配置することをお勧めします。

そして、ある種のフィード リーダーを使用してドキュメントを作成します。フィールドを含むフォームが必要になるか、xml でフィールドを変更して、既存のフォームを使用できるようにします。

既存のアプリにデータが必要だと思います。

手元にコードがありません。申し訳ありません。

しかし、サイモンは良い提案をしています。また、Stevens が提案したチュートリアルは検討する価値があります。

それが役に立てば幸い。個人的には、あなたが成功したかどうか、そしてもちろんどのように成功したか知りたいです。

于 2012-07-24T16:49:42.507 に答える
0

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 クラスを作成するだけで済みます。やさしい。

于 2012-07-12T18:41:24.960 に答える
0

マーティン、実際には最も簡単な方法は、saxパーサーを使用してファイルを読み取ることです(あなたはそれが大きいと言いました)。SAX は LotusScript と Java で利用できます。各要素 (および終了) に対してイベントが発生するため、開始要素が発生したときに新しいドキュメントを作成し、終了したら閉じるだけで済みます。両方の言語で非常に簡単です。

ここにJavaのチュートリアルがあります またはここsystem.out.printlnをdoc.replaceitemvalueに置き換えるだけです

于 2012-07-11T13:08:25.843 に答える