使用JDOM解析为XML的文本

时间:2012-07-10 10:43:58

标签: xml-parsing jdom

我是新手需要你的帮助。

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

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

我需要使用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);

从上面的代码

1 个答案:

答案 0 :(得分: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]);