ところがXMLファイルが整形式となっていなかったため、インポートに失敗しました。
もとのXMLファイルでは、開始タグと終了タグで囲まれた内容に、"<"や">"などの特殊文字をそのまま記述してしまったので、それらを"<"や">"に書き直せば解決できると思います。
しかし修正箇所が膨大に存在するため、自動的に修正をする方法を探しています。
そのような修正が可能なソフトや、プログラムを教えてください。
そのXMLで使われているタグの種類がそう多くないと仮定して、
通常のテキストエディタ(メモ帳などの)で行う方法があるかなと思います。
例えば、↓なら、
<test> 3<x 、またはx>4 </test>
1.開始タグ・終了タグを別の文字に一括置換する。( <や/>でなく、個別のタグを指定して置き換える)
例えば<test>→{%test%},</test>→{%test%}など
→{%test%} 3<x 、またはx>4 {%test%}
2. <や>を"<"や">"に一括置換する。
→{%test%} 3<x 、またはx>4 {%test%}
3. 1で置換したタグを一括置換でもとのタグに戻す
{%test%}→<test>,{%test%}→</test>
→<test> 3<x 、またはx>4 </test>
要するに、"<"や">"への置換で、タグが影響を受けないように、一旦別の文字に置き換えるということです。
ファイル数及び、タグの種類が少なく、ひとつのファイルのサイズが大きいならこの方法が手っ取り早いかもしれません。
ありがとうございます。
ありがとうございます。
XMLファイルを読み込む時点で、エラーになってしまいます。
このソフトも整形式でないと読み込めないのでしょうか。
Windows上ですよね。きっと。
キレイな方法ではありませんが、正規表現の使えるエディタで、
<が>が出現する前に出てきた場合、後者の<を<に置換
>はその逆
最終的にミスマッチが出るかもしれないので、ある程度は手動でやるのは避けられないかと。
DTDですべての要素名がわかっていれば、それ以外の場所に出現する<>を変換できるとは思いますが、
riyooohさんの環境がわからないのでなんとも言えない部分があります。
仕事だったらがばっと直してあげられるのですが、直し方そのものは検索置換で。というところです。
SGMLやXMLなどはきちんと構成されていないと余計に扱いにくくなるので大変です。
Windowsです。
XMLの構造はとてもシンプルなのですが、修正の作業は大変だと実感しました。
エラーになる部分だけCDATAセクションにしてから、該当部分をXMLエディタなどで修正されてはいかがでしょうか。たとえば、
<element_A>小なり記号は<と書きます。</element_A>
を
<element_A><![CDATA[小なり記号は<と書きます。]]></element_A>
にします。これで整形式になるはずです。
なるほど。
しかし「エラーになる部分」があまりに多いため、その作業自体が時間がかかってしまいそうです。
perlで組んでもいいとは思うが、面倒だし、このあたりのソフトで対応可能かどうか試してはどうか?
http://www.forest.impress.co.jp/docs/review/20090910_312136.html
便利なソフトの紹介ありがとうございます。
しかし整形式のXMLしか取り込めないようなので、適用できませんでした。
そのXMLで使われているタグの種類がそう多くないと仮定して、
通常のテキストエディタ(メモ帳などの)で行う方法があるかなと思います。
例えば、↓なら、
<test> 3<x 、またはx>4 </test>
1.開始タグ・終了タグを別の文字に一括置換する。( <や/>でなく、個別のタグを指定して置き換える)
例えば<test>→{%test%},</test>→{%test%}など
→{%test%} 3<x 、またはx>4 {%test%}
2. <や>を"<"や">"に一括置換する。
→{%test%} 3<x 、またはx>4 {%test%}
3. 1で置換したタグを一括置換でもとのタグに戻す
{%test%}→<test>,{%test%}→</test>
→<test> 3<x 、またはx>4 </test>
要するに、"<"や">"への置換で、タグが影響を受けないように、一旦別の文字に置き換えるということです。
ファイル数及び、タグの種類が少なく、ひとつのファイルのサイズが大きいならこの方法が手っ取り早いかもしれません。
具体的に教えていただきありがとうございます。
ソフトを探すよりも、置換する方法の方法の方が早そうですね。
具体的に教えていただきありがとうございます。
ソフトを探すよりも、置換する方法の方法の方が早そうですね。