0

XML ファイルから行を読み取り、フィールドに解析する必要があります。行は、< で始まり /> で終わるテキストとして定義されます。単一行または CR/LF で区切られた複数行の場合があります。典型的な行は次のとおりです。

<Label Name="lblIncidentTypeContent" Increasable="true" Left="140" Top="60"
 Width="146 SpeechField="IncidentType_V" TextAlign="MiddleLeft" WidthPixel="-180"
 WidthPercent="50" />

行を読み取ったら、名前、左、幅などのフィールドに解析する必要があります。次に、特定の順序でデータを含む CSV を出力したいと考えています。次に、EOF まで次の行を読み取ります。

Perl (またはその他の種類の) プログラミングを行うのは久しぶりです。どんな助けでも大歓迎です。

4

2 に答える 2

1

まあ、これはPerlなので、それを行うにはいくつかの方法があります:

  • 強引な。ファイルを丸呑みし、開始 < 中括弧に出くわしたときに追跡します。そうしたら、名前と値のペアの収集を開始します。右中括弧が表示されたら停止します。入れ子になっている可能性のある XML 要素を処理する必要があるため、思ったほど簡単ではありません。
  • 微力。XML::Simple のような基本的なライブラリを使用してファイルをロードし、Data::Dumper を使用して選択した形式で出力します。前者はハッシュを提供し、キーと値を好きなように操作できます。
  • XML ライブラリを使用します。CPAN には、基礎となる libxml セマンティクスに非常に近いものから非常に抽象的なものまで、かなりの数があります。
于 2013-10-23T21:19:25.030 に答える