複数のXMLファイル(標準形式)を1つのCSVファイルに変換してコンパイルする必要があります。インポートされた要素の一部についても計算を実行する必要があるため、変換されたCSVファイルごとに計算を実行しない限り、XSLTはオプションではありません(Stackoverflow:XML to CSV Using XSLT)。JAVを使用してXMLからCSVを計算、変換、コンパイル
XPathはSAX2の代替手段として提案されていますが、最終的なCSV出力が(100以上のXMLファイルに基づいて)大きいため、配列を使用することを躊躇しています。 (Stackoverflow:Convert XML file to CSV)
私はSAX2を使用して、タグ要素の抽出に多少成功しました。
個々のファイルごとに出力を最後のCSV出力に追加することができれば、私はより安定したアプリケーションを使用すると思います。
大規模なデータのXML-CSV変換と組み合わせて計算を効率的に処理するにはどうすればよいですか?
XMLファイル1
<element id="1">
<info>Yes</info>
<startValue>0</startValue> <!-- Value entered twice, ignore--!>
<startValue>256</startValue>
<stopValue>64</stopValue>
</element>
<element id="2">
<info>No</info>
<startValue>50</startValue>
<stopValue>25</stopValue>
</element>
<....
XMLファイル2
<element id="1">
<info>No</info>
<startValue>128</startValue>
<stopValue>100</stopValue>
</element>
<....
Pseudopseudocode
for all files
get ID
get info
for all stop and start values
ignore wrong values: use counter
difference[] = startValue(i) - stopValues(j) = 196, 28
append (ID, info and difference) to file "outputfile.csv"
CSV Eutput例
File ID Info Difference Etc
_________________________________________________
0 1 Yes 196 ....
0 2 No 25 ....
1 1 No 28 ....
. ... ... ....
. ... ... ....
nfiles
ありがとうuser393274! – noumenal