`
mimang2007110
  • 浏览: 237243 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

读取xml文件类一

阅读更多
public static void init(){
		String filename=BeifengMVCXMLFactory.class.getResource("/beifengmvc.xml").getFile();
		File file=new File(filename);
		SAXReader reader=new SAXReader();
		Document doc=null;
		try {
			doc=reader.read(file);
			Element root=doc.getRootElement();
			Element packagee=root.element("package");
			String defaultfilename=packagee.attributeValue("extends");
			getDefaultXMLInfo(defaultfilename);
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	private static void getDefaultXMLInfo(String filename){
		File file=new File(BeifengMVCXMLFactory.class.getResource("/"+filename+".xml").getFile());
		SAXReader reader=new SAXReader();
		BeifengMvc mvc=new BeifengMvc();
		List<InterceptorInfo> allinterceptor=null;
		Map<String, InterceptorStack> stackmap=null;
		String defaultstack="";
		try {
			Document doc=reader.read(file);
			Element root=doc.getRootElement();
			Element packages=root.element("package");
			List<Element> list=packages.elements();
			for(Element e:list){
				if(e.getName().equals("interceptor")){
					if(null==allinterceptor){
						allinterceptor=new ArrayList<InterceptorInfo>();
					}
					InterceptorInfo info=new InterceptorInfo();
					info.setInterceptorname(e.attributeValue("name"));
					info.setInterceptorclass(e.attributeValue("class"));
					//获得拦截器内的标签,从而配置Result属性
					List<Element> resultlist=e.elements();
					if(resultlist!=null){
						Map<String, Result> resultmap=new HashMap<String, Result>();
						for(Element resulte:resultlist){
							Result r=new Result();
							r.setResultname(resulte.attributeValue("name"));
							Attribute type=resulte.attribute("type");
							if(type!=null){
								r.setResulttype(type.getValue());
							}
							r.setResultjsp(resulte.getText());
							resultmap.put(r.getResultname(), r);
						}
						info.setResultmap(resultmap);
					}
					allinterceptor.add(info);
				}else if(e.getName().equals("interceptor-stack")){
					if(null==stackmap){
						stackmap=new HashMap<String, InterceptorStack>();
					}
					InterceptorStack stack=new InterceptorStack();
					stack.setStackname(e.attributeValue("name"));
					List<Element> refelement=e.elements();
					List<InterceptorInfo> interceptorlist=new ArrayList<InterceptorInfo>();
					for(Element ref:refelement){
						String refname=ref.attributeValue("name");
						for(InterceptorInfo info:allinterceptor){
							if(refname.equals(info.getInterceptorname())){
								interceptorlist.add(info);
								break;
							}
						}
					}
					stack.setInterceptorlist(interceptorlist);
					stackmap.put(stack.getStackname(), stack);
				}else if(e.getName().equals("defaultstack")){
					defaultstack=e.attributeValue("name");
				}
			}
			mvc.setDefaultstack(defaultstack);
			mvc.setAllinterceptor(allinterceptor);
			mvc.setStackmap(stackmap);
			ConstantMVC.DEFAULTMVCINFO=mvc;
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

 

分享到:
评论

相关推荐

    php读取xml文件类

    下面将详细讨论PHP如何利用DOMDocument类读取XML文件以及这个“php读取xml文件类”的基本工作原理。 首先,DOMDocument类是PHP内建的DOM扩展的一部分,它遵循DOM(Document Object Model)规范,为XML文档提供了一...

    用java读取xml文件的四种方法

    要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...

    C# XML文件读取示例

    本示例将详细介绍如何在C#中读取XML文件,帮助开发者理解并掌握相关技术。 首先,让我们了解XML文件的基本结构。XML文件通常包含元素(Element)、属性(Attribute)、文本内容(Text Content)等组成部分。元素是...

    C++读取XML文件

    本教程将深入探讨如何使用TinyXML解析器在C++中读取XML文件。 TinyXML是一个小型、轻量级的开源库,设计用于在C++中解析XML文档。它的主要优点在于简单易用,同时保持了良好的性能。下面我们将详细介绍如何使用Tiny...

    C#读取XML文件 xml .net

    本篇文章将详细阐述如何使用C#来读取XML文件,并提供相关的编程示例。 首先,要读取XML文件,你需要引入`System.Xml`命名空间,它包含了处理XML的基本类库。在你的C#源代码文件顶部添加以下引用: ```csharp using...

    C++ 读取xml文件

    接下来,我们来看一段基本的读取XML文件的C++代码示例: ```cpp #include "tinyxml.h" int main() { TiXmlDocument doc("example.xml"); // 创建一个文档对象,传入XML文件名 if (!doc.LoadFile()) { // 加载...

    用C#快速读取XML文件,并遍历

    标题"用C#快速读取XML文件,并遍历"所涉及的核心知识点包括: 1. **System.Xml命名空间**:C#中处理XML的主要工具位于System.Xml命名空间下,包括XmlDocument、XmlNode、XmlElement等类,它们提供了读取、写入和操作...

    flash读取XML文件

    Flash读取XML文件是通过`URLLoader`加载XML文件,然后使用`XML`类解析数据。加载过程中需要注意监听加载事件,处理成功和错误的情况。在实际项目中,XML常用于动态加载和更新内容,与Flash进行数据交换。如果`cssxml...

    C#读取XML文件并写入数据库

    下面,我们将详细介绍三种使用C#读取XML文件并将其写入数据库的方法。 1. **使用XmlReader类逐行读取并写入** - `XmlReader` 是一个高效的流式读取器,不占用大量内存。通过创建`XmlReader`实例,我们可以逐个节点...

    C中读取XML文件

    如果只需要读取XML文件中的某个特定节点的值,可以使用`XmlDocument`类结合`GetElementsByTagName`方法来实现。代码示例如下: ```csharp public static string ReadXmlReturnNode(string XmlPath, string NodeName...

    c++读取XML配置文件

    c++读取XML配置文件C++中并没有操作XML文件的标准库,因此大家需要使用各自熟悉的XML库来解决XML文件的读取与写入。XML的一个重要用途是作为程序的配置文件,存储程序运行相关的各种数据。本文总结了使用libxml2库来...

    c#读取XML文件

    具体到读取XML文件,主要使用 `XmlDocument` 类。以下是一段基础的代码示例: ```csharp using System; using System.Xml; public class Program { public static void Main() { // 创建 XmlDocument 对象 Xml...

    Java读取XML文件自制工具类

    //通过文件路径及文件名读取xml public XMLReader(String path, String filename); //初始化读取包下的的XML文件 public XMLReader(Package package1, String fileName); //读取WEB-INF下的xml文件 public XMLReader...

    VB.net读取xml文件

    以下是一个使用`XmlTextReader`读取XML文件的简单示例: ```vbnet Dim reader As New XmlTextReader("path_to_your_xml_file.xml") While reader.Read() If reader.NodeType = XmlNodeType.Element Then Console....

    jdom 读取XML 文件

    1. 加载XML文件:使用`SAXBuilder`类来读取XML文件并构建DOM树。如下所示: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public class JDomReader { public static void main(String...

    java读取xml文件

    1. JAXB:JAXB 提供了一种将 XML 数据绑定到 Java 类和对象的方式,使得你可以直接通过对象操作 XML 数据。它支持从 XML 文档到 Java 对象的反序列化,反之亦然。在处理大型 XML 文件时,JAXB 可能不是最佳选择,...

    C# 读取XML文件并写入Excel表格

    1. **读取XML文件** - **XML结构**:XML文件由元素、属性、文本内容和命名空间组成。元素是最基本的构建块,通常包含其他元素或文本。 - **XML解析**:在C#中,我们可以使用几种方法来解析XML。最常用的是`System....

    java读取xml文件生成文件

    以下是一个基本的Java代码示例,演示了如何读取XML文件: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c....

    java递归读取xml文件

    本篇文章将深入探讨如何使用Java递归地读取XML文件。 首先,我们需要了解XML的基本结构。XML(eXtensible Markup Language)是一种标记语言,它的层次结构由元素(Element)、属性(Attribute)以及文本内容(Text ...

Global site tag (gtag.js) - Google Analytics