A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 如梦初醒 中级黑马   /  2012-4-4 10:35  /  1022 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请高手解决!!!
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原来的格式打印呀,谢谢!!!
































0 个回复

您需要登录后才可以回帖 登录 | 加入黑马