0

私は XStream XML 解析で遊んでいましたが、少し問題があります。解析する必要があるファイルには、同じ名前の任意の属性がいくつかあるノードがあります。ノードはサッカーチームで、属性は各選手の名前です。

<team home="Arsenal">
  <squad player="Manuel Almunia Rivero" player="Abou Diaby" player="Bacary Sagna" ... player="Robin van Persie"/>
  <subs player="Carlos Vela" player="Theo Walcott"/>
</team>

私の問題は、このファイルをデマーシャルしようとすると、属性が重複するという問題が発生することです。私がやりたいことは、この文字列をリストにロードして、チームのメンバーのコレクションを維持できるようにすることだけです。順序などは重要ではありません。同じ名前であっても、各属性を反復する方法について誰かが正しい方向に向けることができますか? ありがとうクリス

4

1 に答える 1

1

次の 2 つのオプションがあります。

  1. ファイルを作成した人にバグを報告し、同じ名前の複数の属性があるバグを修正するように依頼します (あなたが示した例は整形式の XML ではないため、XML プロセッサはそれを解析することが期待できません)。

  2. ストリームをテキスト ストリームとして操作し、実際の XML を生成するものを記述します<squad><player>Manuel Almunia Rivero</player><player>Abou Diaby</player>...

2 つ目は厄介な問題です。独自の XML 解析コードを作成する際には、さまざまな問題に注意する必要があります (これは、バグによって強制されていることです)。そのため、ファイルの作成者に修正を依頼できれば、それが進むべき道です(それにより、他のプロセスがそれを使用できるようになります。また、結局のところ、それが彼らのせいであるという単純な事実もあります)。

于 2010-10-04T15:27:33.670 に答える