`
xinyoulinglei
  • 浏览: 126035 次
社区版块
存档分类
最新评论

XML测试类

    博客分类:
  • java
xml 
阅读更多
package com.huawei.bss.xml;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class InnerPortXMLParse
{

    public static  List<InnerXMLBean>  parseXML()
    {
        //xml文件的路径
        String xmlFilePath="src/conf/portSlotConfig.xml";
        File xmlFile=new File(xmlFilePath);
        XmlTree xmlTree=new XmlTree();
        try
        {
             xmlTree =Xml.parseXml(xmlFile);
           
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return getInnerXMLBeanList(xmlTree.getRoot().getChildrenByTagName("connection"));
       
    }
    /**
     * 根据跟节点得到一个List
     * @param xmlNodeList
     * @return
     * @see [类、类#方法、类#成员]
     */
    private static List<InnerXMLBean> getInnerXMLBeanList(List<XmlNode> xmlNodeList)
    {
        List<InnerXMLBean> innerXMLBeanList=new ArrayList<InnerXMLBean>(xmlNodeList.size());
        InnerXMLBean innerXMLBean;
        for (XmlNode xmlNode : xmlNodeList)
        {
            innerXMLBean =new InnerXMLBean();
            String bomValue=getSimpleProperty(xmlNode,"bom");
            innerXMLBean.setBomValue(bomValue);
            innerXMLBean.setPortToSolts(getPortToSoltBeanList(xmlNode.getChildrenByTagName("portToSlots")));
            innerXMLBeanList.add(innerXMLBean);
        }
        return innerXMLBeanList;
    }
   
    /**
     * 根据xmlNode获取到PortToSoltBean的数组
     * @param portBeanNodeList
     * @return
     * @see [类、类#方法、类#成员]
     */
    private  static List<PortToSoltBean> getPortToSoltBeanList(List<XmlNode> portBeanNodeList)
    {
       
        if (portBeanNodeList == null || portBeanNodeList.isEmpty())
        {
            return null;
        }
       
        XmlNode portToSolts=portBeanNodeList.get(0);
       
        //得到portToSolt节点的值
       List<XmlNode> portToSolt= portToSolts.getChildrenByTagName("portToSlot");
        //创建一个List<PortToSoltBean>对象
        List<PortToSoltBean> portBeanList=new ArrayList<PortToSoltBean>(portToSolt.size());
       
        PortToSoltBean portBean;
        for (XmlNode portBeanNode : portToSolt)
        {
            portBean=new PortToSoltBean();
            portBean.setPort(getSimpleProperty(portBeanNode,"port"));
            portBean.setSolt(getSimpleProperty(portBeanNode,"Slot"));
            portBean.setInnerType(getSimpleProperty(portBeanNode,"type"));
            portBeanList.add(portBean);
        }
        return portBeanList;
    }
    /**
     * 根据节点名获取XML对应节点的值
     * @param parent 节点
     * @param parent simplePropertyTagName 节点名称
     * @return
     */
    private static String getSimpleProperty(XmlNode parent,String simplePropertyTagName)
    {
        List<XmlNode> simpleNode = parent.getChildrenByTagName(simplePropertyTagName);
        if (simpleNode == null || simpleNode.size() != 1)
        {
            return null;
        }
        return simpleNode.get(0).getText();
    }
   
    public static void main(String[] args)
    {
        List<InnerXMLBean> listBean=InnerPortXMLParse.parseXML();
       
       
       
        for (Iterator iterator = listBean.iterator(); iterator.hasNext();)
        {
            InnerXMLBean innerXMLBean = (InnerXMLBean) iterator.next();
            System.out.println(innerXMLBean.getBomValue()+"==="+innerXMLBean.getIndexNumber());
           
           
        }
    }
}
分享到:
评论

相关推荐

    tinyXML测试例子

    "tinyXML测试例子"是针对这个库的一个入门示例,帮助初学者理解如何使用TinyXML来读取、修改和创建XML文件。 首先,我们要了解XML(eXtensible Markup Language),它是一种用于标记数据的语言,广泛应用于配置文件...

    xml与实体类转换工具

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据...`util`工具类和`MyTest`测试类提供了一个实现框架,通过引入相应的依赖,开发者可以快速地将XML数据转化为可操作的Java对象,反之亦然。

    载入页面的xml测试 c#

    在"载入页面的xml测试 c#"这个场景中,我们可能是在编写一个C#应用程序,该程序能够从XML文件中加载数据并在用户界面(UI)上显示。下面将详细讲解这个过程涉及的知识点: 1. **XML基础知识**:首先需要理解XML的...

    vc++的xml解析类代码和测试文件

    `MyXML.h`文件可能会定义一个类,如`XMLParser`,该类包含解析XML文件所需的方法和成员变量。例如,可能会有一个`parseFile`函数,用于打开并解析XML文件,以及一些内部结构来存储解析过程中创建的DOM(Document ...

    任意XML转实体类 实体类 转XML 方法 JAVA

    将XML数据转换为Java实体类(Bean)以及将实体类转换回XML是两个重要的操作,这对于数据的序列化和反序列化至关重要。下面将详细解释这两个过程以及涉及的相关知识点。 首先,XML转实体类的过程通常涉及到Java的...

    一个简单的xml使用测试实例

    `XMLTest` 是主要的测试类,它负责执行XML的操作,而`StudentBean` 可能是用来封装学生数据的简单Java Bean类。在`XMLTest.java` 文件中,可以看到如何创建`StudentBean` 对象并将其转换为XML格式,同时可能还包含了...

    php中用来解析xml的类

    XML测试文件包含了一个章节结构,其中有一个informaltable表格和一个section元素。informaltable中的tbody和row元素代表了表格的行和列,entry元素包含了单元格的内容。section元素则包含了关于文档的信息,包括一个...

    Socket Xml 测试

    在这个"Socket XML 测试"项目中,我们将深入探讨这两个技术的结合以及如何进行测试。 首先,Socket编程是实现客户端和服务器之间通信的一种方法。它基于TCP/IP协议,允许不同计算机上的程序通过网络互相通信。在...

    基于MFC的XML封装类

    - `test.xml`:这是一个示例XML文件,用于测试和演示XML封装类的功能。 - `VC_CXmlFile`:可能是项目的源代码目录,包含了XML封装类的实现。 - `src`:可能包含源代码文件,如`.cpp`和`.h`文件,其中`.cpp`文件实现...

    xml.rar_QT XML _linux qt xml_qt xml_qt xml html_xml测试

    在进行XML测试时,我们可以编写单元测试来验证XML解析和生成的正确性。QT提供了QTest库,它包含了一系列用于测试的宏和函数。你可以为XML解析函数编写测试用例,确保它们能够正确处理各种XML输入。 总结来说,QT在...

    PHP操作xml类

    在"index.php"中,我们可以看到这个XML类的具体使用示例,而"index.xml"则是一个包含测试数据的XML文件。 PHP操作XML的基本步骤通常包括以下部分: 1. **加载XML文档**: 使用`DOMDocument`类或`SimpleXMLElement...

    IIRIS单元测试xml类文件tests.zip

    首先,`TestMe.xml`可能代表一个具体的测试类或模块,其中定义了针对`TestMe`类的各种测试用例。每个测试用例通常包含一组预设条件、执行的操作以及预期的结果,用于检查代码的功能性和正确性。XML文件可能包含 `...

    TinyXML封装测试

    TinyXML的主要类包括`TiXmlDocument`、`TiXmlElement`、`TiXmlAttribute`、`TiXmlText`、`TiXmlComment`等,它们分别代表XML文档、元素、属性、文本和注释。 在封装TinyXML为DLL的过程中,你需要将TinyXML的相关源...

    xml解析测试

    在Android中,可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`等类进行DOM解析。 ```java DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder...

    c# 简单封装的一个读取XML类

    在`CodeTest`文件中,可能包含了实现这些方法的具体代码和测试示例,可以进一步学习和理解如何在实际项目中应用这个封装的XML读取类。 总之,C#中的XML处理是一个重要的话题,合理封装可以帮助我们更高效地管理XML...

    工业级XML处理类

    压缩包中的文件`xml.cpp`和`xml.h`很可能是实现XML处理功能的源代码文件,其中`xml.cpp`包含了函数实现,而`xml.h`可能包含了类定义和接口声明。`vssver.scc`是Visual SourceSafe的版本控制文件,这表明这些代码可能...

    tinyxml开源代码+测试用例+入门讲解

    `TestTinyXml`目录中应该包含了TinyXML的测试用例,这些用例展示了如何使用TinyXML进行XML解析和写入的实际操作。你可以通过阅读和运行这些测试用例来深入理解和实践TinyXML的用法。 在`TinyXml入门.docx`文档中,...

    XML解析程序代码供测试

    在这个"XML解析程序代码供测试"的资源中,我们很显然会涉及到如何在编程环境中处理XML文件,特别是使用C++编程语言的MFC(Microsoft Foundation Classes)框架。 在MFC中,处理XML文件通常涉及使用MSXML库...

    XML和类对象互转 (java) 并含有测试例子

    本篇将详细阐述如何在Java中实现XML与类对象的互转,以及提供相关的测试示例。 首先,我们需要理解XML的基本概念。XML是一种用于标记数据的语言,它具有自我描述性,可以清晰地组织和表示数据结构。在Java中,我们...

    学习中写的C#操作xml文件工程,用的原生xml相关类

    1. **XmlDocument类**:这是C#中最常用的XML处理类,它提供了对XML文档的完整DOM(Document Object Model)支持。你可以通过这个类创建、修改和遍历XML树。例如,`XmlDocument.Load()`方法用于加载XML文件,`XmlNode...

Global site tag (gtag.js) - Google Analytics