aardio 调用 C#程序读 Freeplane.mm文件,生成测试用例.csv文件

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

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

创建工程 xml2csv 编写  main.aardio 如下

import win.ui;
/*DSG{{*/
mainForm = win.form(text="xml2csv";right=757;bottom=467)
mainForm.add(
button1={cls="button";text="打开文件.mm";left=515;top=11;right=618;bottom=34;z=2};
button2={cls="button";text="转换为.csv";left=643;top=13;right=728;bottom=36;z=3};
edit={cls="edit";left=10;top=11;right=503;bottom=37;edge=1;z=1};
edit2={cls="edit";left=10;top=46;right=747;bottom=455;edge=1;hscroll=1;multiline=1;vscroll=1;z=4}
)
/*}}*/

import console;
import io;
import sys;
import fsys.dlg;
import process;
import web.msxml;
var xmlDoc;
var str, txt, lines;

mainForm.button1.oncommand = function(id,event){
	mainForm.button1.disabled = true;
	var file1 = fsys.dlg.open("*.mm|*.MM");
	if (!io.exist(file1)){
		mainForm.msgbox("file1 not exists.");
		mainForm.button1.disabled = false;
		return ;
	}
	mainForm.edit.text = file1;
	xmlDoc = web.msxml();
	xmlDoc.load(file1); 
	//console.log( xmlDoc.xml );
	//mainForm.edit2.text = xmlDoc.xml;
    // 遍历node节点,提取属性TEXT值
	root = xmlDoc.selectSingleNode("/map/node");
	lines = root.getAttribute("TEXT")++'\r\n';
	for(k,xnode in xmlDoc.eachNode("node", root)){
		if (xnode.getAttribute){
		  txt = xnode.getAttribute("TEXT");
		  lines += txt ++'\r\n';
		}
	}
	mainForm.edit2.text = lines;
	mainForm.button1.disabled = false;
}

mainForm.button2.oncommand = function(id,event){
	mainForm.button2.disabled = true;
	file1 = mainForm.edit.text;
	if (io.exist(file1)){
		if (process.isExe("\res\mm_Xml_csv.exe")){ // UTF8转GBK
			process.execute("\res\mm_Xml_csv.exe", string.fromto(file1,65001,936));
		} else {
			mainForm.msgbox("\res\mm_Xml_csv.exe not found.");
		}	
	} else {
		mainForm.msgbox(file1++" not found.");
	}
	win.delay(100);
	file2 = file1++".csv";
	if (io.exist(file2)){
		str = string.load(file2);
		mainForm.edit2.text = str;
	}		
	mainForm.button2.disabled = false;
}

mainForm.show();
return win.loopMessage();

运行(F5)  注意有中文文件名,需用  // UTF8转GBK

process.execute("\res\mm_Xml_csv.exe", string.fromto(file1,65001,936));

参阅:aardio:进程操作

相关推荐

  1. RobotFramework测试框架(6)测试文件结构

    2024-03-11 09:18:03       30 阅读
  2. Linux程序文件调试测试方法

    2024-03-11 09:18:03       14 阅读
  3. Rust csv文件

    2024-03-11 09:18:03       24 阅读
  4. C# CSV 文件取的三种方式分析

    2024-03-11 09:18:03       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 09:18:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 09:18:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 09:18:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 09:18:03       20 阅读

热门阅读

  1. 流量分析-webshell管理工具

    2024-03-11 09:18:03       23 阅读
  2. go gin中间件关于 c.next()、c.abort()和return的使用

    2024-03-11 09:18:03       29 阅读
  3. Docker基础—CentOS中Docker安装部署

    2024-03-11 09:18:03       20 阅读
  4. neo4j

    2024-03-11 09:18:03       24 阅读
  5. RabbitMQ

    RabbitMQ

    2024-03-11 09:18:03      18 阅读
  6. Docker入门指南: 创新的容器化技术

    2024-03-11 09:18:03       19 阅读
  7. 主流开发语言与环境介绍

    2024-03-11 09:18:03       24 阅读
  8. elementPlus的坑

    2024-03-11 09:18:03       22 阅读
  9. 各种环境下载链接

    2024-03-11 09:18:03       19 阅读
  10. 轻量脚本语言Lua的配置与c++调用

    2024-03-11 09:18:03       19 阅读
  11. linux系统Docker容器Dockerfile简单描述

    2024-03-11 09:18:03       18 阅读
  12. 创建旅游景点图数据库Neo4J技术验证

    2024-03-11 09:18:03       18 阅读
  13. PPT只要出现弹窗就闪退,Word和Excel都是正常的

    2024-03-11 09:18:03       96 阅读