2012-07-10 4 views
0

Мне нужна новая помощь.Разбор текста в XML с использованием JDOM

Я уверен, преобразование текста в к XML (с некоторыми дополнительными атрибутами)

мой текст СПЛАЙН (N, -1.151,1.002, -0.161,0.997, 0,840, -0,004, конспектированного)

мне нужно иметь в XML с использованием JDOM, как следующая

<SPLINE n="3" x1="0.840" y1="-1.004" x2 ="-0.161" y2 ="0.997" x3 ="0.840" y3"-0.004" prim_style="OUTLINED" /> 

можно преобразовать просто, если N фиксировано, в приведенном выше примере N = 3, так что, следовательно, имеет 3 х и 3 координаты у. Но если я использую для цикла, как ниже, результат не такой, как исключение. любая помощь будет большим

 root.addContent(child); 
       document.setContent(root); 


          int i = Integer.parseInt(temp_token[2]); 
          int count = i * 2 + i + 4; 

          for (int j = 0; j <= count - 5; j = j + 3) { 

           String x = null; 
           String y = null; 

           Element SPLINE = new Element("SPLINE") 
             .setAttribute("n", temp_token[2]) 
             .setAttribute("x", temp_token[j + 4]) 
             .setAttribute("y", temp_token[j + 5]) 
             .setAttribute("prim_style", 
               temp_token[count]); 


child.addContent(SPLINE); 

Из приведенного выше кода

ответ

0

Вы не должны создавать сплайна элемент внутри цикла, она должна быть вне ... (и имена переменных должны быть в нижнем регистре)

root.addContent(child); 
document.setContent(root); 


int i = Integer.parseInt(temp_token[2]); 
int count = i * 2 + i + 4; 

Element spline = new Element("SPLINE"); 
child.addContent(SPLINE); 
spline.setAttribute("n", temp_token[2]); 

int pair = 0; 
for (int j = 0; j <= count - 5; j = j + 3) { 
    pair++; 
    spline.setAttribute("x" + pair, temp_token[j + 4]); 
    spline.setAttribute("y" + pair, temp_token[j + 5]); 
} 
spline.setAttribute("prim_style",temp_token[count]); 
Смежные вопросы