Netbeans(Java)-将XML节点存储在整数数组中

Netbeans(Java)-将XML节点存储在整数数组中,java,xml,type-conversion,xmlnode,Java,Xml,Type Conversion,Xmlnode,我正在为一个学校项目创建一个简单的高分页面。我需要使用xml文件来存储数据。我计划创建一个highscores页面,在游戏结束时保留您的分数,如下所示: // Variable Declaration int[] highscoresArray = new int [12]; String[] usernameArray = new String [12]; // score temp and username temp variables. int sT

我正在为一个学校项目创建一个简单的高分页面。我需要使用xml文件来存储数据。我计划创建一个highscores页面,在游戏结束时保留您的分数,如下所示:

    // Variable Declaration
    int[] highscoresArray = new int [12];
    String[] usernameArray = new String [12];
    // score temp and username temp variables.
    int sTemp;
    String uTemp;

    // Prevent blank username
    if (nameInput.getText().length() > 2){
        warnings.setText("Username may only be 2 digits!");
    }
    else if(nameInput.getText() != null && nameInput.getText().length() == 2) {
        try {
            // Gets the contents from highscores.xml & assigns each Node to an int variable;
            String filePath = "highscores.xml";
            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
            Document doc = docBuilder.parse(filePath);

            // Read username data from xml file
            for (int y = 0; y <= 9; y++){
                Node uName = doc.getElementsByTagName("name").item(y);
                usernameArray[y] = uName.getTextContent();

                System.out.println("User " + y + ". " + usernameArray[y]);
            }
            usernameArray[10] = nameInput.getText();
            System.out.println("User 10. " + usernameArray[10]);

            // Read userscore data from xml file
            for (int y = 0; y < 9; y++){
                Node uScore = doc.getElementsByTagName("score").item(y);
                highscoresArray[y] = Integer.parseInt(uScore.getTextContent());

                System.out.println("Score " + y + ". " + highscoresArray[y]);
            }
            highscoresArray[10] = gameUI.bankOffer;
            System.out.println("Score 10. " + highscoresArray[10]);


            for (int x = 10; x >= 1; x--){
                if (highscoresArray[x] > highscoresArray[x-1]) {
                    // score swap
                    sTemp = highscoresArray[x-1];
                    highscoresArray[x-1] = highscoresArray[x];
                    highscoresArray[x] = sTemp;

                    // username swap
                    uTemp = usernameArray[x-1];
                    usernameArray[x-1] = usernameArray[x];
                    usernameArray[x] = uTemp;
                }
            }

        }catch (ParserConfigurationException pce){
            pce.printStackTrace();
        }catch(IOException ioe){
            ioe.printStackTrace();
        }catch(SAXException sae){
            sae.printStackTrace();
        }    
    } else {
        warnings.setText("Invalid username");
    }
//变量声明
int[]highscoresArray=新int[12];
String[]usernameArray=新字符串[12];
//score temp和username temp变量。
int sTemp;
字符串uTemp;
//防止空白用户名
if(nameInput.getText().length()>2){
warnings.setText(“用户名只能是两位数!”);
}
else if(nameInput.getText()!=null&&nameInput.getText().length()=2){
试一试{
//从highscores.xml获取内容&将每个节点分配给一个int变量;
字符串filePath=“highscores.xml”;
DocumentBuilderFactory docFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder=docFactory.newDocumentBuilder();
Document doc=docBuilder.parse(文件路径);
//从xml文件读取用户名数据
对于(int y=0;y=1;x--){
if(highscoresArray[x]>highscoresArray[x-1]){
//分数交换
sTemp=highscoresArray[x-1];
highscoresArray[x-1]=highscoresArray[x];
highscoresArray[x]=sTemp;
//用户名交换
uTemp=usernameArray[x-1];
usernameArray[x-1]=usernameArray[x];
usernameArray[x]=uTemp;
}
}
}捕获(ParserConfiguration异常pce){
pce.printStackTrace();
}捕获(ioe异常ioe){
ioe.printStackTrace();
}捕获(SAX异常){
sae.printStackTrace();
}    
}否则{
警告。setText(“无效用户名”);
}
我的程序在从xml文件读取用户分数的for循环中有问题。下面再次列出:

    // Read userscore data from xml file
    for (int y = 0; y < 9; y++){
        Node uScore = doc.getElementsByTagName("score").item(y);
        highscoresArray[y] = Integer.parseInt(uScore.getTextContent());

        System.out.println("Score " + y + ". " + highscoresArray[y]);
    }
//从xml文件读取userscore数据
对于(int y=0;y<9;y++){
节点uScore=doc.getElementsByTagName(“分数”)。项(y);
highscoresArray[y]=Integer.parseInt(uScore.getTextContent());
System.out.println(“分数”+y+“+highscoresArray[y]);
}
我知道它与将节点值存储为int有关,但我尝试按照以下步骤进行转换。非常感谢您的帮助