私は、Linq to XML を使用して XML パーサーで作業し、foreach ループを介して解析しています。
プログラムは動作しますが、内部に多くの要素を持つ 2 つのルートがあり、これら 2 つのルートの要素が関連している可能性があるため、処理が遅くなります。(ファイルは大きくなく、1Mb から 5Mb です)。
明確にするために、.xml ファイル内に<Datas>
とroots があります。<Symbols>
内の要素は、次のように、それぞれの子を介し<Symbols>
て要素に関連付けられています。<Datas>
<Symbol>
<Type>
<Datas>
<Data>
<Name>**SymbolType_1**</Name> // (As you can see, <Name> = <Type> of the <Symbol>)
<Type>DataType1</Type>
<Subitem>
<Name>SubitemName1</Name>
<Type>SubitemType1</Type>
</Subitem>
<Subitem>
<Name>SubitemName1</Name>
<Type>SubitemType1</Type>
</Subitem>
</Data>
<Data>
<Name>**SymbolType_2**</Name>
<Subitem>
<Name>SubitemName1</Name>
<Type>SubitemType1</Type>
</Subitem>
<Subitem>
<Name>SubitemName1</Name>
<Type>SubitemType1</Type>
</Subitem>
</Data>
[...]
</Datas>
<Symbols>
<Symbol>
<Name>SymbolName_1</Name>
<Type>**SymbolType_1**</Type>
</Symbol>
<Symbol>
<Name>SymbolName_1</Name>
<Type>**SymbolType_1**</Type>
</Symbol>
[...]
</Symbols>
したがって、一部<Subitem>
<Type>
が別の に接続され<Data>
、10 個の要素の構造を作成することも可能です。
私が今やっていることは、 each をforeach
取得するループを使用し、<Symbol>
メソッドを適用して each と<Data>
それぞれ<Subitem>
の子を調べることです。
私は C# から始めているので、ファイルではなくリストを解析して、 all<Symbol>
と2 つまたは 3 つの異なる<Data>
を保存するのが良い考えかどうかを知りたいです。<Subitem>
<List>
<Symbols>
また、 「領域」を分割し、複数の foreach ループを同時に使用してそれぞれを解析することは賢明でしょうか (そして可能でしょうか) 。
最後に、各の位置を保存できるかどうかを知りたい<Data>
ので、ルートの開始から解析する必要はありません<Datas>
。
どうもありがとうございました。