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

读取xml文件类二

 
阅读更多
public static void getXMLInfo(String filelocation){
		String filename=BeifengMVCXMLFactory.class.getResource("/"+filelocation).getFile();
		File file=new File(filename);
		SAXReader reader=new SAXReader();
		Document doc=null;
		Package pack=null;
		BeifengMvc mvc=new BeifengMvc();
		List<IncludeFile> includefilelist=null;
		List<InterceptorInfo> allinterceptor=null;
		Map<String, InterceptorStack> stackmap=null;
		Map<String, Action> actionmap=null;
		try {
			doc=reader.read(file);
			Element root=doc.getRootElement();
			Element packagee=root.element("package");
			pack=new Package();
			pack.setPackagename(packagee.attributeValue("name"));
			pack.setNamespace(packagee.attributeValue("namespace"));
			pack.setExtendsfile(packagee.attributeValue("extends"));
			List<Element> list=packagee.elements();
			for(Element e:list){
				if(e.getName().equals("include")){
					if(null==includefilelist){
						includefilelist=new ArrayList<IncludeFile>();
					}
					IncludeFile include=new IncludeFile();
					include.setFile(e.attributeValue("file"));
					includefilelist.add(include);
				}else 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=null;
						List<String> notinterfunctionlist=null;
						Map<String,String> parammap=null;
						for(Element resulte:resultlist){
							if(resulte.getName().equals("result")){
								if(null==resultmap){
									resultmap=new HashMap<String, Result>();
								}
								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);
							}else if(resulte.getName().equals("notinterfunction")){
								if(null==notinterfunctionlist){
									notinterfunctionlist=new ArrayList<String>();
								}
								notinterfunctionlist.add(resulte.attributeValue("name"));
							}else if(resulte.getName().equals("param")){
								if(null==parammap){
									parammap=new HashMap<String, String>();
								}
								parammap.put(resulte.attributeValue("name"), resulte.getText());
							}
						}
						info.setResultmap(resultmap);
						info.setNotinterfunctionlist(notinterfunctionlist);
						info.setParammap(parammap);
					}
					allinterceptor.add(info);
				}

 

分享到:
评论

相关推荐

    C# WinForm 读写XML文件

    在C# WinForm应用程序中,读写XML文件是常见的数据操作任务。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,它结构清晰、易于解析且跨平台。下面将详细介绍如何使用C# WinForm来实现XML...

    php读取xml文件类

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

    C++ 读写XML文件

    本项目"**C++ 读写XML文件**"是针对MFC(Microsoft Foundation Classes)框架的一个示例,展示了如何在C++环境中方便地操作XML文件。 首先,我们需要了解XML的基本结构。XML文件由元素(Element)、属性(Attribute...

    使用tinyxml 读写xml文件方法

    2. **读取 XML 文件** 要读取 XML 文件,首先需要创建一个 `TiXmlDocument` 对象,然后调用 `LoadFile()` 方法加载文件。如果文件加载成功,该方法返回 `true`。例如: ```cpp TiXmlDocument doc("example.xml");...

    LabVIEW利用OLE自动化读写XML文件

    微软提供了MSXML2.0, 4.0 及 6.0动态链接库来支援开发人员读写XML文件。 而LabVIEW正可以通过OLE自动化接口,调用MSXML*.dll动态链接库,完成对XML文件的操作。如果你的系统没有安装MSXML*.dll,可以去网上下载并...

    Csharp读写XML文件

    以上就是C#中读写XML文件的基本操作,涵盖了增加、删除、修改和查找元素的方法。在实际应用中,还需要注意错误处理、文件锁定等问题,确保代码的健壮性。同时,根据具体需求,可以选择合适的XML处理方式,如DOM、SAX...

    delphi读写XML文件

    首先,你需要导入System.XML读写XML文件所需的基本库。在Delphi中,可以使用TXMLDocument类来处理XML文档。以下是读取XML文件的基本步骤: 1. 创建TXMLDocument对象: ```delphi var XMLDoc: TXMLDocument; ...

    一次代码重构之旅-快速读写xml文件工具类封装

    本次重构的主题是创建一个快速读写XML文件的工具类,这在处理数据存储和交换时非常常见。XML(eXtensible Markup Language)是一种结构化数据格式,广泛应用于配置文件、数据传输和数据存储等领域。 在描述中提到的...

    java读写xml文件

    ### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...

    C# XML文件读取示例

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

    Qt读写Xml文件(QTreeWidget加载显示Xml文件内容;QTreeWidget项导出保存为Xml)

    通过以上步骤,我们已经掌握了如何在Qt中使用QTreeWidget读写XML文件以及实现拖放功能。这些技能对于开发任何涉及XML数据操作和用户界面交互的Qt应用都是非常有价值的。在实际项目中,可能还需要根据具体需求对代码...

    Qt读写Xml文件到QTableWidget.rar

    本教程将详细介绍如何在Qt应用中实现XML文件的读取与写入,并将数据展示到QTableWidget中,以及从QTableWidget中保存回XML文件。 首先,Qt提供了QDomDocument类来处理XML文档,它可以解析XML文件并创建一个内存中的...

    直接读写XML文件

    直接读写XML文件是编程中常见的任务,尤其是在处理结构化数据时。 XML文件读写涉及到的主要知识点包括: 1. XML基本结构:XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)等构成。元素是...

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

    本项目涉及的核心技术是“读取XML文件”和“写入Excel表格”。XML(Extensible Markup Language)是一种用于存储和传输数据的标准化格式,而Excel则是Microsoft Office套件中的一个组件,用于创建、编辑和分析数据。...

    XML文件的读写类

    XML(eXtensible Markup Language)是一...以上是关于XML文件读写的关键知识点,掌握这些技能后,你就能灵活地在Java项目中处理XML数据,无论是读取配置文件、存储复杂数据还是与其他系统进行数据交换,都能游刃有余。

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

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

    C++读取XML文件

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

    tinyxml2解析XML文件读取数据

    本项目“tinyxml2解析XML文件读取数据”主要关注如何使用tinyxml2库来高效地解析XML文件并提取其中的数据。以下将详细介绍tinyxml2库的关键功能和使用方法。 1. **tinyxml2库介绍** - tinyxml2提供了DOM(Document...

    vc 读写xml文件

    在VC++环境中,读写XML文件是常见的数据存储和交换任务。XML(eXtensible Markup Language)是一种结构化数据格式,广泛应用于配置文件、数据传输和存储等场景。MSXML,即Microsoft XML Core Services,是由微软提供...

Global site tag (gtag.js) - Google Analytics