小编Roy*_*yeh的帖子

从使用命名空间的XML文档中提取数据

我有一些XML文件,我想从中使用一些信息.我编写了一个代码来读取这些文件,然后查找一些条件.

问题是这些XML文件以

   <SquishReport version="2.1" xmlns="http://www.froglogic.com/XML2">
Run Code Online (Sandbox Code Playgroud)

并且Perl无法读取它们(至少在我的代码中!).但是当我在XML文件的第一行附加这些行时

   <?xml version="1.0" encoding="UTF-8"?>
   <?xml-stylesheet type="text/xsl"?>
Run Code Online (Sandbox Code Playgroud)

效果很好.

我的XML文件中的一些行test.xml:

<SquishReport version="2.1" xmlns="http://www.froglogic.com/XML2">
   <test name="TEST">
      <prolog time="2015-10-01T03:45:22+02:00"/>
      <test name="tst_start_app">
          <prolog time="2015-02-01T03:45:23+02:00"/>
          <message line="38" type="LOG" file="C:\squish\test\sources.py" time="2015-02-01T03:45:23+02:00">
              <description>
                <![CDATA[>>  >>  >> start: init (global) - testcase C:\squish\test\tst_start_app]]></description>
          </message>
       </test>
   </test>
</SquishReport>
Run Code Online (Sandbox Code Playgroud)

并且用于读取XML文件的Perl代码是:

use strict;
use warnings;
use feature 'say';
use XML::LibXML;

# Parse the XML
my $xml = XML::LibXML->load_xml(location => 'test.xml');

# Iterate the entries
for my $entry ($xml->findnodes('/SquishReport/test/test')) {
    my $key = $entry->findvalue('@name'); …
Run Code Online (Sandbox Code Playgroud)

xml perl xml-libxml

9
推荐指数
1
解决办法
278
查看次数

在MATLAB中生成随机加权邻接矩阵

我想在MATLAB中创建一个随机邻接矩阵,使得权重的总和等于边数.最后找到拉普拉斯矩阵

L = diag(sum(A)) - A
Run Code Online (Sandbox Code Playgroud)

然后绘制图形.有没有办法这样做?提前致谢.

random matlab sparse-matrix adjacency-matrix

2
推荐指数
1
解决办法
4464
查看次数

将表写入特定文件夹

我想知道如何使用以下方法保存表

 filename_excel = [ name '_N' num2str(1) '.xlsx'];
 writetable(Table,filename_excel,'Sheet', 3, 'Range','A5');
Run Code Online (Sandbox Code Playgroud)

到当前文件夹以外的特定目录/文件夹?

matlab save export-to-excel

1
推荐指数
1
解决办法
2217
查看次数

检查数组数组中是否有一个数组为空

我正在写一个perl脚本,应该有一个数组数组.此数组查找当前目录中的所有文件夹,然后数组的大小取决于文件夹.children数组包含所有包含的文件名.我可能有一个空文件夹,但我仍然想为它创建一个数组.

my $root = "myCurrenDir";
@test = grep { -d "$root/$_" } read_dir($root);
my @array = ? # how can be defined
Run Code Online (Sandbox Code Playgroud)

我们假设在当前目录中有两个文件夹.然后父数组包含两个数组作为子数.(也许一个是空的).

然后我想检查(两个)数组是否为空,然后继续执行下一步.

我用Google搜索但无法找到明确的解决方案.我可以请你帮忙吗?(也许这很简单,但我坚持下去!).

arrays perl

1
推荐指数
1
解决办法
602
查看次数

打印出GLOB()而不是变量名

我已经定义并打开了一个文件名:

open my $file1, '<', 'test_dll.txt';
Run Code Online (Sandbox Code Playgroud)

现在,当我调用它并想要说例如打印文件的名称时,它打印出GLOB()而不是test_dll.txt.

print "The name of file is: $file1\n";
Run Code Online (Sandbox Code Playgroud)

输出:

The name of file is: GLOB(0x389e74)
Run Code Online (Sandbox Code Playgroud)

请问我知道为什么会这样吗?我怎么能有变量的名字?

perl

-1
推荐指数
1
解决办法
367
查看次数