Java 如何在servlet中上载和读取XML文件及其标记
请建议我阅读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
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