Em có 1 file XML như này:
<group>
<group0>John,US,50.6</group0>
<group1>John,US,50.6</group1>
<group2>Marry,Canada,65.7</group2>
<group3>Emily,France,43.9</group3>
....
<groupN>Jenny,Italia,77.5</groupN>
</group>
Giờ em xài for loop sau đó sử dụng dom4j để lấy giữ liệu của child element sau đó sử dụng split(",") để tách dữ liệu ra rồi gán vào các biến sau:
Element groupElement = node.element("group"); // node là tham số của public void init(Element node)
String[] name, country; // [0] và [1]
float[] salary; // [2]
String[] childElement = new String[N], splitElement = new String[3]; // N là cái số ở child element <groupN>
for(int i = 0; i < N; i++) {
childElement[i] = groupElement.elementTextTrim("group"+i);
splitElement = childElement[i].split(",");
name[i] = splitElement[0];
country[i] = splitElement[1];
salary[i] = Float.parseFloat(splitElement[2]);
}
Nhưng vấn đề là:
- Mỗi khi em thêm một child element mới vào trong , tức N+1 thì em sẽ phải sửa lại đoạn for loop sau đó biên dịch lại. Do đóm em muốn hỏi có cách nào để đếm được xem trong có tất cả bao nhiêu cái child element không để có thể thay cho cái N ở for loop, thuận tiện sau này có thêm child element mới đỡ phải chỉnh lại code ạ?
- Đoạn for loop em làm đúng chưa ạ? Mục đích chính là khi em nhập 2 chẳng hạn thì nó sẽ hiển thị name, country, salary ở <group2> ạ.
Em xin cảm ơn!