Javaコードを使用してXMLファイルをCSVに変換したいのですが、XMLスタイルシート(XSL)またはXSLTを使用したくありません。ここに私のXMLファイルがあります。Javaコードを使用してXMLファイルをCSVに変換するにはどうすればよいですか?
<?xml version="1.0" encoding="UTF-8"?>
<PickAndPlace>
<Components>
<Component id="1">
<X_Dimension>4.33</X_Dimension>
<Y_Dimension>2.962</Y_Dimension>
<Designation>None</Designation>
<Package>None</Package>
<Angle>0</Angle>
</Component>
<Component id="5">
<X_Dimension>4.33</X_Dimension>
<Y_Dimension>8.692</Y_Dimension>
<Designation>None</Designation>
<Package>None</Package>
<Angle>0</Angle>
</Component>
<Component id="9">
<X_Dimension>4.33</X_Dimension>
<Y_Dimension>14.381</Y_Dimension>
<Designation>None</Designation>
<Package>None</Package>
<Angle>0</Angle>
</Component>
</Components>
</PickAndPlace>
ここで私のCSV出力として何をしたいですか?この便利なユーティリティメソッドを抽出して
LinkedList<String> tmpList = new LinkedList<String>();
try (
BufferedReader reader = Files.newBufferedReader(Paths.get("c:/tmp.xml"), Charset.forName("UTF-8"))) {
String line = StringUtils.EMPTY;
while ((line = reader.readLine()) != null) {
if(line.contains("<Component id=")) {
String _id = extractValue(line, "<Component id=\"", "\">");
String _xDimension = extractValue(reader.readLine(), "<X_Dimension>", "</X_Dimension>");
String _yDimension = extractValue(reader.readLine(), "<Y_Dimension>", "</Y_Dimension>");
String _designation = extractValue(reader.readLine(), "<Designation>", "</Designation>");
String _package = extractValue(reader.readLine(), "<Package>", "</Package>");
String _angle = extractValue(reader.readLine(), "<Angle>", "</Angle>");
tmpList.add(_xDimension + "," + _yDimension + "," + _designation + "," + _package + "," + _angle + "," + _id);
}
}
} catch (IOException e) {
System.err.println(e);
}
対処します:
X_Dimension,Y_Dimension,Designation,Package,Angle,_id
4.33,2.962,None,None,0,1
4.33,8.692,None,None,0,5
4.33,14.381,None,None,0,9
私はあなたがこのXMLからあなたのCSVファイルをどのように構造化したいか考える必要があると思います。 – Stefan
目的のCSV出力を提供できますか? – khriskooper
@ khriskooperと@Stefan私は自分のCSV出力を見せました。 –