请高手解决!!!
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class TestSax2 {
public TestSax2() throws Exception{
SAXParserFactory spf=SAXParserFactory.newInstance();
SAXParser ap=spf.newSAXParser();
ap.parse("student.xml",new myHandler1());
}
public static void main(String[] args) throws Exception {
new TestSax2();
}}
class myHandler1 extends DefaultHandler{
public void startDocument() throws SAXException { }
public void endDocument() throws SAXException{ System.exit(0); }
public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {
System.out.print("<"+qName);
for(int i=0;attributes!=null&&i<attributes.getLength();i++){
String attrname=attributes.getQName(i);
String attrvalue=attributes.getValue(i);
System.out.print(" "+attrname+"=\""+attrvalue+"\"");
}
System.out.println(">");
}
public void characters(char[] ch, int start, int length)throws SAXException {
String text=new String(ch,start,length);
System.out.print(text);
}
public void endElement(String uri, String localName, String qName)throws SAXException {
System.out.println("</"+qName+">");
}
}
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="student.xsd">
<学生 学号="1">
<姓名>张三</姓名>
<性别>男</性别>
<年龄>20</年龄>
</学生>
<学生 学号="3">
<姓名>王五</姓名>
<性别>男</性别>
<年龄>21</年龄>
</学生>
</学生名册>
运行结果如下:
<学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="student.xsd">
<学生 学号="1">
<姓名>
张三</姓名>
<性别>
男</性别>
<年龄>
20</年龄>
</学生>
<学生 学号="3">
<姓名>
王五</姓名>
<性别>
男</性别>
<年龄>
21</年龄>
</学生>
</学生名册>
用以上程序解析这个xml的时候,运行结果出现了以上的这种很乱的格式,
谁能帮忙改进一下程序,让运行的打印结果以xml原来的格式打印呀,谢谢!!!
|