展开

计算机系统论文基于J2ME平台的SOAP协议研究与应用(3)

发布时间:2015-12-14   |  所属分类:计算机网络:论文发表  |  浏览:  |  加入收藏

SAXParserFactory factory = SAXParserFactory.newInstance();

SAXParser saxParser = factory.newSAXParser();

接下来要获得XML文件的输入流,并把它作为其中一个参数传递给saxParser的parse方法,

InputStream is = this.getClass().getResourceAsStream("phone.xml");

SaxParser.parse(is,new BasicHandler(this));

DefaultHandler是SAX2默认的事件处理器基类,用于处理XML解析事件的方法如下:

startDocument()

startElement(java.lang.String uri,

java.lang.String localName, java.lang.String qName, Attributes attributes)

characters(char[] ch, int start, int length)

endElement(java.lang.String uri,

java.lang.String localName, java.lang.String qName)

endDocument()

默认情况下,DefaultHandler的上述方法什么也不做,因此必须自己扩展DefaultHandler并且覆盖上述的方法。程序中提供了一个BasicHandler用来处理xml文件。class BasicHandler extends DefaultHandler在BasicHandler类中有两个成员变量

private Vector phones = new Vector();

private Stack tagStack = new Stack();

phones用来存储我们已经解析出来的Phone对象,tagStack则用来存放我们解析到的元素名称,比如sonyericsson,phone,name,colour等。在文档解释结束后,也就是在endDocument()方法内我们把解析的结果显示在手机屏幕上,BasicHandler的几个重要方法如下:

public void startDocument() throws SAXException {}

public void startElement(String uri, String localName, String qName, Attributes attributes)

throws SAXException {

System.out.println("the qName is "+qName);

if(qName.equals("phone")) {

Phone phone = new Phone();

phones.addElement(phone);

}

tagStack.push(qName);

System.out.println("the tag stack's length is "+tagStack.size());

}

public void endElement(String uri, String localName, String qName) throws SAXException {

System.out.println("the end qName is "+qName);

tagStack.pop();

}

5 结束语

通过扩充J2ME平台对XML数据的处理,完成了J2ME平台对SOAP协议的支持。通过SOAP协议能够使得基于J2ME平台的嵌入式设备无缝的连接到企业现有的应用系统,解决了嵌入式设备数据来源不足的问题,扩展了嵌入式系统的应用范围。本文从处理XML数据出发,深入探讨了在J2ME平台中实现SOAP客户端的各种技术,对于企业应用系统的集成具有一定的推广价值。

参考文献

[1] Yuan,Michael Juntao. Enterprise J2ME. Pearson Education 2003

[2] 胡虚怀,杨志,李焕. J2ME移动设备程序设计. 清华大学出版社 2005

[3] 施铮. J2ME技术参考手册. 电子工业出版社 2004

[4] 杨涛. SOAP:XML跨平台Web Service开发技术. 机械工业出版社 2002

转载请注明来自:http://www.uuqikan.com/jisuanjiwangluolw/16632.html


上一篇:计算机网络论文关于发展互联网运营模式的思考
下一篇:计算机网络论文计算机联网和外语教学整合研究