2017-08-02 3 views
1

こんにちはフォックスはネストされている間にxmlタグを取得するのに本当に問題があります。そして、ネストされている間にXMLファイルから開始タグと終了タグを見つけるためにあなたの助けが必要ですか? Perlスクリプトを使用して(正規表現かモジュールかは問わないが)perlネストされたxmlタグを抽出しています(属性や値、コンテンツではない)

**注:タグに番号を付ける必要があり、タグ内の内容は厳密には必要ない。

開始タグを選択すると正しい終了タグが表示されるため、イプシロンをコピーしようとしました。しかし、私はカント。**以下の貼り付け

番目のサンプルが小さなスニペットですが、私は

sample Tag: 
<mrow><mrow><mrow>....<mi>K<\mi>...<\mrow><mi><\mi><\mrow><\mrow> 

expected output: 

<mrow1><\mrow1> 
<mrow2><\mrow2> 
<mrow3><\mrow3> 
+2

[XMLLibXML](http://search.cpan.org/dist/XML-LibXML/LibXML.pod)または[XML :: Twig](http://search.cpan.org/dist/XML-Twig /Twig.pm)。ハッピーコーディング。あなたが問題に遭遇した場合は、あなたのコードについて質問してください。 – zdim

+2

ここでは、通常、人々はコードを掲示し、特定の問題点を記述します。これは単にあなたのためにコードを書く人を尋ねるのに適した場所ではありません。 – zdim

+0

また、サンプル(有効な)XMLがなければ、そうすることさえできません。しかし、XML :: Twigを使用すると、タグの名前を変更できます。ツリー構造の再配置(例:アンロールネスティング)はやや難しいですから、もっと明確な説明が必要です。サンプルの入力と出力はそのための良いスタートです。 XML :: Twigを使用すると、エレメントをカットアンドペーストすることができます。 – Sobrique

答えて

0

を入れ子に、任意の数のコードを必要とする私はPerlのXML/XPathのライブラリを使用することをお勧めします。

XMLは通常の言語ではありません。そのため、通常の場合正規表現では十分ではありません。 XML文書からタグを抽出する新しいコードを書き込もうとすると、最終的に、基本的な(つまり完全に適合するとは限らない)XMLパーサを最初から書き直すことになります。

XMLの使用が広く普及している理由の1つは、W3C標準であるため、既存のコンソーシアムパーサーが多数存在するため、新しいパーサーを作成する時間と労力を惜しまないことです。一部のパーサーは、ドキュメントをホスト言語(DOMなど)に公開します。一部のアプリケーションではXPathが含まれているため、さらに簡単になります。

こちらがお役に立てば幸いです。

関連する問題