C# 用 System.Xml 读 Freeplane.mm文件,生成测试用例.csv文件

Freeplane 是一款基于 Java 的开源软件,继承 Freemind 的思维导图工具软件,它扩展了知识管理功能,在 Freemind 上增加了一些额外的功能,比如数学公式、节点属性面板等。

编写  read_Xml.cs  如下

using System;
using System.IO;
using System.Text;
using System.Xml;namespace Test
{public class ReadXml{    static void Main(string[] args){if (args.Length <1){Console.WriteLine(" usage: read_Xml.exe your_file.mm ");return;}if (! File.Exists(args[0])){Console.WriteLine("Error: {0} not exists.", args[0]);return;}if (Path.GetExtension(args[0]) != ".mm"){Console.WriteLine("Tip: can only read file.mm");}string path1 = args[0]; // your_mm_file_pathstring path2 = path1 +".csv";FileStream fs = new FileStream(path2,FileMode.OpenOrCreate,FileAccess.Write);StreamWriter fsw = new StreamWriter(fs);fsw.WriteLine("应用系统名,用例编号,模块名,测试用例描述,正反向,执行步骤,预期结果");//定义几个变量string xt,zd1,zd2,zd3,zd4,zd5,zd6,txt,csylms;zd5 =""; zd6 ="";// 初始化一个 xmldoc实例XmlDocument xml = new XmlDocument();//XmlNodeList list1,list2,list3;// 导入指定的 xml文件xml.Load(path1);// 指定root节点XmlNode root = xml.SelectSingleNode("/map/node");xt = root.Attributes["TEXT"].Value;Console.WriteLine(xt);if (root.HasChildNodes){// 获取该节点下所有直接子节点//list1 = root.ChildNodes;foreach( XmlNode node1 in root.ChildNodes){if (node1.Name =="node"){zd1 = node1.Attributes["TEXT"].Value;//Console.WriteLine("  "+zd1);if (node1.HasChildNodes){//list2 = node1.ChildNodes;foreach( XmlNode node2 in node1.ChildNodes){if (node2.Name =="node"){zd2 = node2.Attributes["TEXT"].Value;//Console.WriteLine("    "+zd2);if (node2.HasChildNodes){//list3 = node2.ChildNodes;foreach( XmlNode node3 in node2.ChildNodes){if (node3.Name =="node"){zd3 = node3.Attributes["TEXT"].Value;if (node3.HasChildNodes){foreach( XmlNode node4 in node3.ChildNodes){if (node4.Name =="node"){zd4 = node4.Attributes["TEXT"].Value;if (node4.HasChildNodes){foreach( XmlNode node5 in node4.ChildNodes){if (node5.Name =="node"){txt = node5.Attributes["TEXT"].Value;if (txt.StartsWith("步骤:")){zd5 = txt.Substring(3);} else if (txt.StartsWith("预期结果:")){zd6 = txt.Substring(5);csylms = zd2 +"-"+ zd4; //测试用例描述fsw.WriteLine("{0},{1},{2},{3},{4},{5}",xt,zd1,csylms,zd3,zd5,zd6);} else {zd5 =""; zd6 ="";}}}}}}}}}}}}}}}}fsw.Flush();fsw.Close();}}
}

SET PATH=%PATH%;C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319;
编译 csc /t:exe read_Xml.cs 

运行  read_Xml.exe  your_freeplane_file.mm

应用系统名,用例编号,模块名,测试用例描述,正反向,执行步骤,预期结果
应用系统,模块1,功能11-测试要点111,正向,1.步骤,1.结果
应用系统,模块1,功能11-测试要点112,正向,2.步骤,2.结果
应用系统,模块1,功能11-要点111,反向,3.步骤,3.结果
应用系统,模块1,功能11-要点112,反向,4.步骤,4.结果
应用系统,模块2,功能21-测试要点211,正向,5.步骤,5.结果
应用系统,模块2,功能21-测试要点212,正向,6.步骤,6.结果
应用系统,模块2,功能21-要点211,反向,7.步骤,7.结果
应用系统,模块2,功能21-要点212,反向,8.步骤,8.结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kmc密钥管理的基本功能是什么

KMC(密钥管理中心)在公钥基础设施中占据着举足轻重的地位&#xff0c;它是专门负责为CA(证书授权)系统提供一系列密钥服务的核心组件。这些服务包括但不限于密钥的生成、保存、备份、更新、恢复以及查询等&#xff0c;旨在解决分布式企业应用环境中大规模密码技术应用所带来的密…

R语言:多值提取到点

ArcGIS中有相关工具实现多值提取到点的功能&#xff0c;在这里&#xff0c;我将使用R语言进行操作&#xff1a; library(dplyr) library(readxl) library(sf) library(raster)setwd("D:/Datasets") Bio <- stack(paste0("D:/Datasets/Data/worldclim2_1km/…

DEYO: DETR with YOLO for End-to-End Object Detection论文翻译

DEYO&#xff1a;DETR与YOLO用于端到端目标检测 摘要 DETR的训练范式在很大程度上取决于在ImageNet数据集上预训练其骨干。然而&#xff0c;由图像分类任务和一对一匹配策略提供的有限监督信号导致DETR的预训练不充分的颈部。此外&#xff0c;在训练的早期阶段匹配的不稳定性会…

web接入海康相机视屏流 注意事项 - 编码H264

视屏编码&#xff08;主码流和子码流都改&#xff09;必须是H264&#xff0c;H265编码webrtc解析不了编码修改后&#xff0c;先使用vlc播放器&#xff0c;播放视屏编码修改后&#xff0c;重启相机&#xff0c;重启视屏录像机&#xff08;如果相机是挂在视屏录像机上的&#xff…

3.7 FreeRTOS day2

思维导图&#xff1a; 1.使用ADC采样光敏电阻数值&#xff0c;如何根据这个数值调节LED灯亮度。 配置ADC以读取光敏电阻的电压值&#xff0c;配置PWM以控制LED的亮度。使用ADC读取光敏电阻的电压值。这个值将随着环境光线的变化而变化。将ADC读取的原始值映射到一个更易于处理…

Django高级之-缓存

Django高级之-缓存 一 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务…

.Net6使用JWT认证和授权

文章目录 目的实现案例一.项目所需包&#xff1a;二.配置项目 appsettings.json 文件&#xff1a;三.创建Model文件夹&#xff0c;添加AppConfig类和UserRole类1.AppConfig类获取appsettings.json文件中的值2.UserRole类用于区分用户信息和权限 四.主体代码案例&#xff1a;1.L…

centos离线安装 k8s (实操可用)

全部安装包rpm下载&#xff08;已整理好k8s和docker&#xff09;&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1ATv8BPijhvIKWz4hMnkx6Q?pwdt5db 提取码&#xff1a;t5db 将文件下载以后&#xff0c;解压到服务器 #执行所有docker-rpm包 yum -y localinstall *.rpm…

OpenCV开发笔记(七十六):相机标定(一):识别棋盘并绘制角点

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://blog.csdn.net/qq21497936/article/details/136535848 各位读者&#xff0c;知识无穷而人力有穷&#xff0c;要么改需求&#xff0c;要么找专业人士&#xff0c;要么自己研究 红胖子(红模仿…

阿珊比较Vue和React:两大前端框架的较量

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【你也能从零基础学会网站开发】Web建站之HTML+CSS入门篇 常用HTML标签(3)

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 HTML框架集…

Linux环境下使用interrupt方式操作UART

目录 概述 1 Linux环境下UART设备 2 轮询方式操作UART功能实现 2.1 打开串口函数&#xff1a;usr_serial_open 2.2 关闭串口函数&#xff1a; usr_serial_close 2.3 发送数据函数&#xff1a; usr_serial_sendbytes 2.4 接收数据函数&#xff1a; usr_serial_readinterr…

使用腾讯云快速搭建WordPress网站流程详解

专栏系列文章&#xff1a; WordPress建站主题美化系列教程https://blog.csdn.net/seeker1994/category_12184577.html 一文搞懂WordPress是什么&#xff1f;为什么用它建站&#xff1f;怎么安装与部署&#xff1f; 初次安装WordPress后如何进行网站设置&#xff08;主题安装、…

简站wordpress主题看上去差不多 实际大不一样

有人说简站wordpress主题&#xff0c;都差不多嘛。我表示无语。表面看上去是差不多的&#xff0c;实际的细节是不一样的。 下面以编号&#xff1a;JZP4431和编号&#xff1a;JZP4878这两个主题为例子来讲一下&#xff0c;简站wordpress主题&#xff0c;在细节方面的不一样之处…

ChatGPT/GPT4科研技术应用与AI绘图(包含Claude3、Gemini、Sora、GPTs中大模型的最新技术)

2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

基础数据运营 - 面经 - 自如租房

招聘要求&#xff1a; 投递时间&#xff1a; 2023.12.28 BOSS直聘 联系HR 2023.12.29 面试 面试流程&#xff1a; 自我介绍&#xff0c;正常完整表述 你能介绍一下你的实习经历吗&#xff1f;主要做了哪些工作&#xff0c;得到了哪些结论出来 一般Excel有用到过么&#x…

Java工作需求后端代码--实现树形结构

加油&#xff0c;新时代打工人&#xff01; 前端页面 带树形结构的表格 最近在新项目上加班加点&#xff0c;下面是个实现树形结构的数据表格。 需求&#xff1a; 在前端页面表格中展示成树形结构的数据。 技术&#xff1a; 后端&#xff1a;Java、Mybatis-Plus、HuTool树形的…

etcd入门指南

目录 一.etcd的介绍和发展 1.什么是etcd 2.ecsd的发展历史 3.etcd特点 4.使用场景 5.关键字 6.工作原理 7.下载地址 二.将etcd部署到linux 1.etcd安装前介绍 2.安装etcd 1. 创建并切换到下载目录 ​编辑 2.下载或者解压 3切换至etcd根目录&#xff0c;运行查看命令l…

华为OD机试 - 服务器广播 - 矩阵(Java 2024 C卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷…

土地变化的“预言家”:DNDC模型在双碳背景下的应用探索

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现&#xff0c;“双碳”行动特别是碳中和已经在世界范围形成广泛影响。国家领导人在多次重要会议上讲到&#xff0c;要把“双碳”纳入经济社会发展和生态文明建设整体布局。同时&#xff0c;提到要把减污降碳协同增效作为促…