1

以下のレイアウトのxmlパスが何であるかを理解するのに苦労しています。

<?xml version="1.0"?>
<Root Name="\\Admin1\ROOT" State="1" Timeout="300" >
       <Target Server="Admin`" Folder="ROOT" State="2"/> 

       <Link Name="users\foo" State="1" Timeout="300" >
              <Target Server="server1" Folder="folder1\foo" State="2"/>
       </Link>


      <Link Name="users\bar" State="1" Timeout="300" >
             <Target Server="server2" Folder="folder2\bar" State="2"/>
      </Link>
</Root>

そして、次のコードに各リンク名を出力させる方法がわかりません。

use strict;use warnings;

my $filename = 'dfs_dump.xml';

use XML::LibXML;
my $parser = XML::LibXML->new();

my $doc    = $parser->parse_file($filename);
foreach my $link ($doc->findnodes('/Root Name/Target Server')) {
    my($title) = $link->findnodes('/Link Name');
    print $title->to_literal, "\n" 
}
4

1 に答える 1

1
for my $link_node ($doc->findnodes('/Root/Link')) {
    print $link_node->getAttribute('Name') // "[none]", "\n";
}

また

for my $link_name ($doc->findnodes('/Root/Link/@Name')) {
    print $link_name->getData(), "\n";
}
于 2013-02-16T03:28:44.417 に答える