人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

例えば

<day>5日
<month>4月

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

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

●質問者: batti-8
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

質問者から

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


1 ● snow0214
●330ポイント ベストアンサー

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


batti-8さんのコメント
ありがとうございます。 秀丸のは、簡単に使えました。

2 ● sasada
●310ポイント

秀丸のマクロ
http://www.umasugi.com/~h070017/download/iet/iet.html

Vimでの設定
http://vim-users.jp/2009/06/hack22/

Ginnieのマクロ
http://forums.kntware.net/macro/?mode=res&no=19


batti-8さんのコメント
ありがとうございます。 秀丸のは、簡単に使えました。

3 ● nakamine11
●360ポイント

上記の条件でよければ、簡単なスクリプト言語で対応できます。
例として、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>

* 制約

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

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

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

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

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


batti-8さんのコメント
ありがとうございます。プログラマではないので、perlは使ったことありませんが、面白そうですね。WindowsでActive Perlなるものをインストールしてみましたが、難しそうです。もし初心者用にご提示いただいたコードを使える方法を教えていただけるのであればうれしいです。恐縮です。 あと、id属性などはあります。 <day id="01">5日 <month>4月 ↓ <day id="01">5日</day> <month>4月</month>

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属性にも対応しています。

batti-8さんのコメント
ありがとうございました。勉強してみます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ