XML Handle by javax.xml.stream.*

XmlHandle.java:

package shuai.study.xml;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;

/**
 * @ClassName: ReadXml
 * @Description: TODO
 * @author Zhou Shengshuai
 * @date 2014年9月23日 下午5:09:38
 *
 */
public class XmlHandle {

	public static void readXml(String filePath) {
		XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
		XMLStreamReader xmlStreamReader = null;

		try {
			InputStream fileInputStream = new FileInputStream(filePath);
			xmlStreamReader = xmlInputFactory.createXMLStreamReader(new BufferedInputStream(fileInputStream, 65536));

			readXml(xmlStreamReader);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (XMLStreamException e) {
			e.printStackTrace();
		} finally {
			if (xmlStreamReader != null) {
				try {
					xmlStreamReader.close();
				} catch (XMLStreamException e) {
					e.printStackTrace();
				}
			}
		}
	}

	public static void readXml(XMLStreamReader xmlStreamReader) {
		try {
			while (xmlStreamReader.hasNext()) {
				int outType = xmlStreamReader.next();

				if (outType == XMLStreamReader.START_ELEMENT && "Rule".equals(xmlStreamReader.getLocalName())) {
					System.out.println("---------------------------------------Rule Start---------------------------------------");

					while (xmlStreamReader.hasNext()) {
						int inType = xmlStreamReader.next();

						if (inType == XMLStreamReader.START_ELEMENT) {
							String elementText = xmlStreamReader.getElementText();

							if ("SourceObjectClass".equals(xmlStreamReader.getLocalName())) {
								System.out.println("Source Object Class: " + elementText);
							}

							if ("DestObjectClass".equals(xmlStreamReader.getLocalName())) {
								System.out.println("Destination Object Class: " + elementText);
							}

							if ("ManageObjectClass".equals(xmlStreamReader.getLocalName())) {
								System.out.println("Manage Object Class: " + elementText);
							}

							if ("SourceObjectDN".equals(xmlStreamReader.getLocalName())) {
								System.out.println("Source Object DN: " + elementText);
							}

							if ("DestObjectDN".equals(xmlStreamReader.getLocalName())) {
								System.out.println("Destination Object DN: " + elementText);
							}
						}

						if (inType == XMLStreamReader.END_ELEMENT && "Rule".equals(xmlStreamReader.getLocalName())) {
							System.out.println("---------------------------------------Rule End---------------------------------------");
							break;
						}
					}
				}

				if (outType == XMLStreamReader.END_ELEMENT && "Mapping".equals(xmlStreamReader.getLocalName())) {
					break;
				}
			}
		} catch (XMLStreamException e) {
			e.printStackTrace();
		}
	}

	/**
	 * @Title: main
	 * @Description: TODO
	 * @param args
	 * @throws
	 */
	public static void main(String[] args) {
		XmlHandle.readXml("conf/dnMapping.xml");
	}
}

dnMapping.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Mapping>
	<Rule name="Rule00">
		<SourceObjectClass>FING</SourceObjectClass>
		<DestObjectClass>GgsnFunction</DestObjectClass>
		<ManageObjectClass>3529</ManageObjectClass>
		<SourceObjectDN>PLMN-PLMN/FING-1</SourceObjectDN>
		<DestObjectDN>SubNetwork=XXXXX-1,ManagedElement=FING-1,GgsnFunction=FING-1</DestObjectDN>
	</Rule>
	<Rule name="Rule01">
		<SourceObjectClass>FPIFC</SourceObjectClass>
		<DestObjectClass>EthernetPort</DestObjectClass>
		<ManageObjectClass>3529</ManageObjectClass>
		<SourceObjectDN>PLMN-PLMN/FING-1/FPNODE-1/FPIFC-1</SourceObjectDN>
		<DestObjectDN>SubNetwork=XXXXX-1,ManagedElement=FING-1,EthernetPort=FPNODE-1/FPIFC-1</DestObjectDN>
	</Rule>
	<Rule name="Rule10">
		<SourceObjectClass>FING</SourceObjectClass>
		<DestObjectClass>EpRpDynS5S8Sgw</DestObjectClass>
		<ManageObjectClass>3529</ManageObjectClass>
		<SourceObjectDN>PLMN-PLMN/FING-1</SourceObjectDN>
		<DestObjectDN>SubNetwork=XXXXX-1,ManagedElement=FING-1,ServingGwFunction=FING-1,EpRpDynS5S8Sgw=S5S8-1</DestObjectDN>
	</Rule>
</Mapping>
时间: 2024-09-15 20:59:22

XML Handle by javax.xml.stream.*的相关文章

WebService报错javax.xml.ws.soap.SOAPFaultException: javax.xml.ws.WebFault.messageName()

一.发现问题JAX-WS规范是一组XML web services的JAVA API.JAXWS-RI是其的一个包. 用jaxws-ri-2.2.5.zip做webservice,将jaxws-ri-2.2.5.zip中lib内容拷贝到web project的lib中,运行时使用该包时抛出异常:javax.xml.ws.soap.SOAPFaultException: javax.xml.ws.WebFault.messageName() Ljava/lang/String. 二.原因分析JAX

【Java-Webservice】java.lang.NoClassDefFoundError: javax/xml/rpc/ServiceException错误

在开发webservice服务的时候客户端老师提示java.lang.NoClassDefFoundError: javax/xml/rpc/ServiceException这个错误,搞了好久,原来主要把axis包里面的jaxrpc.jar,拷贝到过程lib下就OK了

eclipse-导入javax.xml.bind.jar包后运行android项目出错

问题描述 导入javax.xml.bind.jar包后运行android项目出错 导入javax.xml.bind.jar包后运行android项目出现Conversion to Dalvik format failed with error 1,什么原因,怎么解决 解决方案 http://blog.csdn.net/androidzhaoxiaogang/article/details/6889876http://dev.wo.com.cn/docportal/doc_queryMdocDet

javax.xml.ws.soap.SOAPFaultException: This class does not support SAAJ 1.1

问题描述 调用 远程的 由 CXF 写 的 WebService,Tomcat下 可以正常运行,但是部署到 Weblogic10.3.4 下就报 不支持 SAAJ1.1.] Root cause of ServletException. javax.xml.ws.soap.SOAPFaultException: This class does not support SAAJ 1.1 at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsCli

请问 javax.xml 与 org.w3c.xml的区别

问题描述 如题....谢先 解决方案 解决方案二:不好意思,笔误了下是javax.xml.xpathorg.w3c.dom.xpath的区别谢谢

CXF报错啊!javax.xml.ws.soap.soapfaultexception bad number in .class file

问题描述 调用的时候出现这个错误.javax.xml.ws.soap.soapfaultexception bad number in .class file 解决方案 版本的问题,信息也不全啊

02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置

 项目结构(所需jar包,配置文件) sqlMapConfig.xml的配置内容如下: <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEconfiguration PUBLIC"-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <con

java解析xml之sax解析xml示例分享_java

复制代码 代码如下: package com.test; import java.io.File;import java.io.FileInputStream;import java.util.ArrayList;import java.util.List; import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes;import org.x

java解析xml之dom解析xml示例分享_java

复制代码 代码如下: package com.test; import java.io.File;import java.util.ArrayList;import java.util.List;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import o