TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
这是XML文件 <?xml version="1.0"?>
<students>
<student>
<sid>200001121</sid>
<name>张三</name>
<gender>男</gender>
<age>22</age>
<grade>大二</grade>
<major>计算机应用</major>
</student>
<student>
<sid>200001131</sid>
<name>李四</name>
<gender>女</gender>
<age>21</age>
<grade>大二</grade>
<major>机械电子</major>
</student>
<student>
<sid>200001141</sid>
<name>王五</name>
<gender>男</gender>
<age>23</age>
<grade>大三</grade>
<major>工业设计</major>
</student>
</students>
这是源程序:- import org.xml.sax.Attributes;
- import org.xml.sax.SAXParseException;
- import org.xml.sax.SAXException;
- import javax.xml.parsers.SAXParserFactory;
- import javax.xml.parsers.SAXParser;
- import org.xml.sax.helpers.DefaultHandler;
- class SAXTest extends DefaultHandler{
- private StringBuffer buffer=new StringBuffer();
- public void parseURI(String uri)
- {
- try
- {
- SAXParserFactory spf = SAXParserFactory.newInstance();
- SAXParser sp = spf.newSAXParser();
- sp.parse(uri,this);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- /** Start document. */
- public void startDocument()
- {
- buffer.append("< ?xml version="1.0"?>");
- }
- /** Start element. */
- public void startElement(String namespaceURI, String localName,
- String rawName, Attributes attrs)
- {
- buffer.append("< ");
- buffer.append(rawName);
- if (attrs != null)
- {
- int len = attrs.getLength();
- for (int i = 0; i < len; i++)
- {
- buffer.append(" ");
- buffer.append(attrs.getQName(i));
- buffer.append("="");
- buffer.append(attrs.getValue(i));
- buffer.append(""");
- }
- }
- buffer.append(">");
- }
- /** Characters. */
- public void characters(char ch[], int start, int length)
- {
- buffer.append(new String(ch, start, length));
- }
- /** Ignorable whitespace. */
- public void ignorableWhitespace(char ch[], int start, int length)
- {
- characters(ch, start, length);
- }
- /** End element. */
- public void endElement(String namespaceURI, String localName,
- String rawName)
- {
- buffer.append("");
- } // endElement(String)
- /** End document. */
- public void endDocument()
- {
- }
- /** Processing instruction. */
- public void processingInstruction(String target, String data)
- {
- buffer.append("< ?");
- buffer.append(target);
- if (data != null && data.length() > 0)
- {
- buffer.append(" ");
- buffer.append(data);
- }
- buffer.append("?>");
- }
- /** Returns a string of the location. */
- private String getLocationString(SAXParseException ex)
- {
- StringBuffer str = new StringBuffer();
- String systemId = ex.getSystemId();
- if (systemId != null)
- {
- int index = systemId.lastIndexOf("/");
- if (index != -1)
- systemId = systemId.substring(index + 1);
- str.append(systemId);
- }
- str.append(":");
- str.append(ex.getLineNumber());
- str.append(":");
- str.append(ex.getColumnNumber());
- return str.toString();
- }
- public static void main(String args[]){
- SAXTest st=new SAXTest();
- st.parseURI("student.xml");
- System.out.println(st.buffer.toString());
- }
- }
复制代码 程序运行结果: C:java>java SAXTest
<?xml version="1.0"?><students>
<student>
<sid>200001121</sid>
<name>张三</name>
<gender>男</gender>
<age>22</age>
<grade>大二</grade>
<major>计算机应用</major>
</student>
<student>
<sid>200001131</sid>
<name>李四</name>
<gender>女</gender>
<age>21</age>
<grade>大二</grade>
<major>机械电子</major>
</student>
<student>
<sid>200001141</sid>
<name>王五</name>
<gender>男</gender>
<age>23</age>
<grade>大三</grade>
<major>工业设计</major>
</student>
</students> C:java>
源码下载:http://file.javaxxz.com/2014/10/10/030334484.zip |
|