XMLの閉じタグを一括で補完してくれるようなツールやマクロはありますか?


例えば

<day>5日
<month>4月

と書いたデータを一括で下記のようにしてくれるツールやマクロがあればうれしいです。

<day>5日</day>
<month>4月</month>

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/05/08 20:06:02
  • 終了:2014/05/14 17:34:48
id:batti-8

秀丸エディタのマクロでできるとうれしいですが

ベストアンサー

id:snow0214 No.1

snow0214回答回数470ベストアンサー獲得回数1162014/05/08 20:16:55

ポイント330pt

EmEditorでXML文書を編集中にタグの補完を行う拡張機能を提供するプラグイン

http://www.vector.co.jp/soft/win95/writing/se257673.html

サクラエディタの閉じタグ補完マクロ

http://sakura.qp.land.to/?Macro%2F%C5%EA%B9%C6%2F38
使い方
http://d.hatena.ne.jp/pst11841/20110421/1303356699

秀丸の閉じタグ補完マクロ

http://www.umasugi.com/~h070017/download/iet/iet.html

id:batti-8

ありがとうございます。
秀丸のは、簡単に使えました。

2014/05/11 08:01:26

その他の回答(2件)

id:snow0214 No.1

snow0214回答回数470ベストアンサー獲得回数1162014/05/08 20:16:55ここでベストアンサー

ポイント330pt

EmEditorでXML文書を編集中にタグの補完を行う拡張機能を提供するプラグイン

http://www.vector.co.jp/soft/win95/writing/se257673.html

サクラエディタの閉じタグ補完マクロ

http://sakura.qp.land.to/?Macro%2F%C5%EA%B9%C6%2F38
使い方
http://d.hatena.ne.jp/pst11841/20110421/1303356699

秀丸の閉じタグ補完マクロ

http://www.umasugi.com/~h070017/download/iet/iet.html

id:batti-8

ありがとうございます。
秀丸のは、簡単に使えました。

2014/05/11 08:01:26
id:sasada No.2

sasada回答回数1482ベストアンサー獲得回数1332014/05/08 20:28:58

id:batti-8

ありがとうございます。
秀丸のは、簡単に使えました。

2014/05/11 08:01:31
id:nakamine11 No.3

nakamine11回答回数1ベストアンサー獲得回数02014/05/10 14:03:59

ポイント360pt
  • タグの階層は1つのみ(入れ子は考えない)
  • タグの属性(id属性など)はあってもよい。

上記の条件でよければ、簡単なスクリプト言語で対応できます。
例として、perl のスクリプトを載せておきます。
[sample.in]

<day id="01">5日
<month>4月

[convert.pl]

@in_text = <>;
@out_text = ();

for (@in_text) {
    my $line = $_; 
    chomp $line;

    my ($whole,$tag) = ($line =~ m/(<([^> ]+)[^>]*>[^<>]+)/);
    push @out_text, "$whole</$tag>";
}

print "$_\n" for @out_text;

[出力結果]

$ perl convert.pl sample.in
<day id="01">5日</day>
<month>4月</month>

* 制約

  • 1行につき開きタグは1つのみ
  • タグで囲っている文字列は途中で改行されていない

例)以下のような入力は正しく処理できない。

<day>5日<month>4月
<day>
6日
<month>4
月

以下のような入力は正しく処理できる。

<day>5日
<month>4月
<day>6日
<month>4月

--
[追記] プログラムに誤りがあったので修正しました。また、id属性などに対応しました。

他1件のコメントを見る
id:nakamine11

ActivePerlのインストールは全く難しくないです。下記に参考ページを挙げておきます。
[1] http://www.perlplus.jp/perlinstall/install/index1.html インストール方法
[2] http://www.perlplus.jp/perl/ 初心者向けの How To
[3] http://www.kent-web.com/perl/chap7.html 正規表現の解説

なお、今回のようなテキスト加工は「正規表現」という技術を使えば簡単にできます。
他にもいろいろな解説ページがありますので参考になさってください。
--
[追記] プログラムに誤りがありましたので修正しました。また、id属性にも対応しています。

2014/05/10 20:11:25
id:batti-8

ありがとうございました。勉強してみます。

2014/05/11 08:00:40

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません