0

我有关于 XML 和 java.util.List 的问题。在我的脚本中,我能够从输入中解析 XML 文件,系统写给我,例如 [124, 123], [123, 130] (根据这个输入文件中的内容。)但我的问题是 - 如何从 xList 传递值和 yList 来绘制方法?我需要做什么?设置/获取价值?或者也许有更好的方法来做到这一点。谢谢

我的脚本的一部分:

    try
        {

        SAXParserFactory factory = SAXParserFactory.newInstance();
        SAXParser saxParser = factory.newSAXParser();

        MyDefaultHandler handler = new MyDefaultHandler();
        saxParser.parse(filechooser.getSelectedFile(), handler);
        System.out.println(handler.getXList() + ", " + handler.getYList());
    }
    catch (Exception exe)
    {
        exe.printStackTrace();
    }
    }    
        }

    class MyDefaultHandler extends DefaultHandler
{
    final List<Integer> xList = new ArrayList<Integer>();
    final List<Integer> yList = new ArrayList<Integer>();

    boolean xele = false;
    boolean yele = false;

    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
    {

        if (qName.equalsIgnoreCase("X"))
        {
            xele = true;
        }

        if (qName.equalsIgnoreCase("Y"))
        {
            yele = true;
        }


    }

    public void characters(char ch[], int start, int length) throws SAXException
    {

        if (xele)
        {
            System.out.println("X value : " + new String(ch, start, length));
            xele = false;
            xList.add(Integer.parseInt(new String(ch, start, length)));
        }

        if (yele)
        {
            System.out.println("Y value : " + new String(ch, start, length));
            yele = false;
            yList.add(Integer.parseInt(new String(ch, start, length)));

        }
;
    }

    final List<Integer> getXList()
    {
        return xList;

    }

    final List<Integer> getYList()
    {
        return yList;
    }
4

1 回答 1

2

如果我理解您的问题并期望列表的长度相同,您将需要这样的东西:

for (int i=0; i<xList.size(); i++) { paint(xList.get(i),yList.get(i)); } 
于 2012-10-22T12:55:36.387 回答