updatescore.java

来自「XML课件非常好的东西 如果你不了解XML看看非常有用」· Java 代码 · 共 65 行

JAVA
65
字号
import java.io.*;
import org.w3c.dom.*;
import org.w3c.dom.Node;
import org.xml.sax.*;
import javax.xml.parsers.*;

public class UpdateScore
{
  public void update(Document doc,String name,String score)
  {
    NodeList nlName = doc.getElementsByTagName("name");
    Element e;
    int len = nlName.getLength();
    for (int i=0;i<len;i++)
    {
    	e = (Element)nlName.item(i);
    	if(e.getFirstChild().getNodeValue().equals(name)) 
    	{
    		e = (Element)e.getNextSibling().getNextSibling().getNextSibling().getNextSibling();
    		e.getFirstChild().setNodeValue(score);
    	}
    }
  }
  public void printDOC(Document doc)
  {
    NodeList nl = doc.getElementsByTagName("*");
    Element e;
    int len;
    len = nl.getLength();
    for (int j=0;j < len;j++)
    {
      e = (Element)nl.item(j);
      System.out.println(e.getTagName()+":"+e.getFirstChild().getNodeValue());
    }
  }
  static public void main(String[] argv)
  {
    try
    {
      if (argv.length != 2)
      {
        System.err.println("格式: java UpdateScore 姓名 成绩");
        System.exit(1);
      }
      DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder domparser = dbfactory.newDocumentBuilder();
      Document doc = domparser.parse(new File("student.xml"));        
      UpdateScore us = new UpdateScore();
      us.update(doc,argv[0],argv[1]);
      us.printDOC(doc);
    }
    catch (ParserConfigurationException p)
    {
      System.out.println(p.toString());
    }
    catch (SAXException s)
    {
      System.out.println(s.toString());
    }
    catch (IOException e)
    {
      System.out.println(e.toString());
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?