2

私は基本的に Java 開発者ですが、クライアントから perl で小さなタスクを与えられました。タスクは、要素を検索してその値を出力する必要があるという点でxml入力を取得することです(値を文字列変数に保存します)。たとえば、以下の xml で FileName タグの値を読み取りたいとします。

<ConnectHome SchemaVersion="1.0.8">
  <TransType>0090</TransType>
  <Node>
    <ExternalFiles>
      <FileName>some file name</FileName>
    </ExternalFiles>
  </Node>
</ConnectHome>

XML:Simple ライブラリを使用して XML を解析しています。また、以下のコードを使用して要素の値を読み取ることもできます。

$xmlSimple = new XML::Simple(KeepRoot   => 1);
$dataXML = $xmlSimple->XMLin("RepeatedElement.xml");
my $fileNameValue = $dataXML->{ConnectHome}->{Node}->{ExternalFiles}->{FileName};

しかし、xml でパスが変更される可能性があるため、クライアントは要素名を使用して値を検索したいと考えています。

"FileName"

ハードコーディングされたパスではありません。

私の質問は、ハードコードされたパスではなく、要素の名前で値を取得する方法です。名前で要素を検索する方法はありますか? 要素の名前を文字列変数に渡します。

4

1 に答える 1