Java 如何在servlet中上载和读取XML文件及其标记

Java 如何在servlet中上载和读取XML文件及其标记,java,eclipse,servlets,Java,Eclipse,Servlets,请建议我阅读XML文件及其标记。我可以检索标签的内容,但不能检索标签名 代码段: FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> fields = upload.parseRequest(request); out.println("Number o

请建议我阅读XML文件及其标记。我可以检索标签的内容,但不能检索标签名

代码段:

FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);

try {

    List<FileItem> fields = upload.parseRequest(request);
    out.println("Number of fields: " + fields.size() + "<br/><br/>");
    Iterator<FileItem> it = fields.iterator();
    if (!it.hasNext()) {
        out.println("No fields found");
        return;
    }
    out.println("<table border=\"1\">");
    while (it.hasNext()) {
        out.println("<tr>");
        FileItem fileItem = it.next();
        boolean isFormField = fileItem.isFormField();
        if (isFormField) {
            out.println("<td>regular form field</td><td>FIELD NAME: " + fileItem.getFieldName() + "<br/>STRING: " + fileItem.getString());
            out.println("</td>");
        } else {
            out.println("<td>file form field</td><td>FIELD NAME: " + fileItem.getFieldName() +
            "<br/>STRING: " + fileItem.getString() +
            "<br/>NAME: " + fileItem.getName() +
            "<br/>CONTENT TYPE: " + fileItem.getContentType() +
            "<br/>SIZE (BYTES): " + fileItem.getSize() +
            "<br/>TO STRING: " + fileItem.toString() 
            );

            out.println("</td>");
        }

如果您有一个xml模式,最简单的方法就是使用JAXB,只需做一点工作,它就可以将一个流解组为一组表示xml的对象。如果您没有模式,那么这可以通过sax解析器来完成。有关如何使用sax解析器读取xml的教程,请参阅。 使用上面的示例,可以调用getInputStream(),然后将其传递给SAXParser,使用处理程序提取元素及其值的信息

还有一个问题是“来,帮我做这个家庭作业”
 <?xml version="1.0"?>
 -<students>
-<student>
 <name>John</name>
 <grade>B</grade>
 <age>12</age>
 </student>
 -<student>
 <name>Mary</name>
 <grade>A</grade>
 <age>11</age>
 </student>
 -<student>
 <name>Simon</name>
 <grade>A</grade>
 <age>18</age>
 </student>
 </students>
 FIELD NAME: Browse
 STRING: - John B 12 Mary A 11 Simon A 18 
 NAME: Samplexml.xml
 CONTENT TYPE: text/xml
 SIZE (BYTES): 313
 TO STRING: name=Samplexml.xml,StoreLocation=C:\Users\Bramesh\AppData\Local\Temp\upload_1aa898c7_7c38_4e32_958b_25efcf0b37c8_00000000.tmp, size=313 bytes, isFormField=false, FieldName=Browse