0

我是新手,需要你的帮助。

我正在将文本转换为 XML(带有一些额外的属性)

我的文字是 SPLINE(N, -1.151,1.002, -0.161,0.997, 0.840,-0.004, OUTLINED)

我需要在 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 个 x 和 3 个 y 坐标。但是,如果我使用下面的 for 循环,则结果并不例外。任何帮助都会很棒

      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);

从上面的代码

4

1 回答 1

0

你不应该在循环内创建 SPLINE 元素,它应该在外面......(变量名应该是小写的)

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]);
于 2012-07-10T11:28:45.497 回答