ある膨大なXMLデータを編集する必要があります。
小生、XMLをさわった経験は全くありません。
今は、メモ帳等のテキストエディタで作業しようとしていますが
天文学的な時間がかかりそうで、あまりやりたくありません。
ある規則に則った編集ですので、たとえばXMLをExcelに変換し、
Excel上でVBAマクロ等を用いて作業し、その後XMLに再変換する
ということができれば小生にとってベストなのですが、そのような
ことは可能でしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

可能です。


XMLの経験がないのでしたら、DOMリファレンスの著者のサイト
http://www.nurs.or.jp/~h_ozawa/kenheya/index.xml
からツールをダウンロードしてくるのが一番はやいです。

http://www.nurs.or.jp/~h_ozawa/kenheya/xml/dev-m …

●Excel→XML
●XML→Excel
などがあります。

#当方Office XP環境は知りませんので、少し古いやり方になるかもしれません。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
まさに探していたのは、これです。
当方はOffice2000ですのでばっちりでした。
非常に助かりました。
今後ともよろしくお願いします。

お礼日時:2001/09/26 18:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QXSLTを使用したXML->XML変換で...

XSLTを使用したXMLからXMLへの変換で、やり方が分からないのでどなたかお教え願います。

以下にXMLを記述します。

----[入力側]-----
<INPUT>
<IN1>
<old>100</old>
<new>100</new>
</IN1>
<IN2>
<IN21>
<old>200</old>
<new>200</new>
</IN21>
<IN22>
<old>300</old>
<new>300</new>
</IN22>
</IN2>
</INPUT>

----[出力側]-----
<OUTPUT>
<OUT1>
<OUT11>
<old>100</old>
<new>100</new>
</OUT11>
<OUT12>
<OUT121>
<old>200</old>
<new>200</new>
</OUT121>
<OUT122>
<old>300</old>
<new>300</new>
</OUT122>
</OUT12>
</OUT1>
</OUTPUT>


【質問内容】
 集団項目でないタグ(入力側のIN1およびIN2)を集団項目として出力したい

XSLTを使用したXMLからXMLへの変換で、やり方が分からないのでどなたかお教え願います。

以下にXMLを記述します。

----[入力側]-----
<INPUT>
<IN1>
<old>100</old>
<new>100</new>
</IN1>
<IN2>
<IN21>
<old>200</old>
<new>200</new>
</IN21>
<IN22>
<old>300</old>
<new>300</new>
</IN22>
</IN2>
</INPUT>

----[出力側]-----
<OUTPUT>
<OUT1>
<OUT11>
<old>100</old>
<new>100</new>
</OUT11>...続きを読む

Aベストアンサー

> 入力側のIN1,IN2が複数回繰り返された場合、
> 出力側もOUT1が複数回繰り返されるって感じです。

IN1とIN2が必ず1対1に対応するという条件でいいなら(複数の組が存在しても可)これでいけるでしょう。



IN1およびIN2以下の構造はオリジナルのまま出力されます。

<xsl:template match="INPUT">
 <OUTPUT>
  <xsl:apply-templates />
 </OUTPUT>
</xsl:template>
<xsl:template match="IN1">
 <xsl:text disable-output-escaping="yes">&lt;OUT&gt;</xsl:text>
  <xsl:copy-of select="." />
</xsl:template>
<xsl:template match="IN2">
 <xsl:copy-of select="." />
 <xsl:text disable-output-escaping="yes">&lt;/OUT&gt;</xsl:text>
</xsl:template>

> 入力側のIN1,IN2が複数回繰り返された場合、
> 出力側もOUT1が複数回繰り返されるって感じです。

IN1とIN2が必ず1対1に対応するという条件でいいなら(複数の組が存在しても可)これでいけるでしょう。



IN1およびIN2以下の構造はオリジナルのまま出力されます。

<xsl:template match="INPUT">
 <OUTPUT>
  <xsl:apply-templates />
 </OUTPUT>
</xsl:template>
<xsl:template match="IN1">
 <xsl:text disable-output-escaping="yes">&lt;OUT&gt;</xsl:text>
  <xsl:copy-of sele...続きを読む

QXMLファイルの編集をExcelでする方法

既に
http://okwave.jp/qa141627.html
QNo.141627にて、同じ質問と回答が掲載されているのですが
紹介されているHPからツールをダウンロードすることが
できませんでしたので、どなたか同様のツール、あるいは
別の手法で、XML形式のファイルをExcelで編集する方法を
ご教授ください。
どうぞよろしくお願いします。

Aベストアンサー

Excel 2002以降は多分標準でXML出力できると思う。

Excel 2000の場合・・・
=========急ぎの場合以下は読み飛ばしていい============
いくつか検索してみましょう。「Excel 2000 CSV」

http://www.atmarkit.co.jp/fxml/askxmlexpert/017excel/17excel.html

csv2xml→C++によるソースが公開されているのみ、開発環境構築経験がないと挫折するので却下。

txt2xml→コマンドラインに慣れてない人だと説明が面倒くさくなるので却下

http://www.vector.co.jp/soft/win95/util/se137947.html
→リンク切れ、却下。

http://www.vector.co.jp/soft/other/java/se172860.html
→場合によってはJavaのランタイムのインストールを説明するのが面倒くさくなるので却下

csv2xml.sourceforge.net
→コンパイルが必要っぽい。却下。

http://www.goedeke.net/csv2xml_eng.html
→コマンドライン。却下。
========================
で、無難なのはGUIアプリのついているこの辺か。
http://www.infocentral.jp/rinku/csv2xml/31260.htm
★事前にファイルをCSV形式で保存しておく必要がある。
★外国製ソフトなので、英語。また、テキストエディタで文字コードをUTF-8で保存しなおす必要があるので、そういったソフトがインストールされていることが前提。

CSVファイル(コンマ区切り)を保存します。実験していませんが半角スペースや全角文字を含まないパスのほうが安全な気がします。

テキストエディタでUTF-8にしておきます。

csv2xml_win.exeをクリックします
Source FileにCSVファイルを指定します
Target Fileに保存するファイルのパスを指定します。左側の手のボタンをクリックすると、拡張子がxmlになったファイルが自動的に指定されます。

カンマ区切りなのでSeparatorsが;となっているのを,に変更します
EncodingをUTF-8に変更します。
Start Conversion

以上でxmlファイルが生成されます

Excel 2002以降は多分標準でXML出力できると思う。

Excel 2000の場合・・・
=========急ぎの場合以下は読み飛ばしていい============
いくつか検索してみましょう。「Excel 2000 CSV」

http://www.atmarkit.co.jp/fxml/askxmlexpert/017excel/17excel.html

csv2xml→C++によるソースが公開されているのみ、開発環境構築経験がないと挫折するので却下。

txt2xml→コマンドラインに慣れてない人だと説明が面倒くさくなるので却下

http://www.vector.co.jp/soft/win95/util/se137947.html
→リンク...続きを読む

Q本を探しています(XMLをPerlで文字取得編集)

お世話になります。
XMLファイル(DTDファイルも別途有ります)を、
出来ればPerlで、
XSLT(XSLの変換機能)等を利用して、
文字取得・編集したいです。
(XMLから文字を取得して、Perl等で文字編集後、
 別のテキストファイルとして出力したいです)

そのような内容が掲載されている本を
Amazonのレビュー等を参考にしながら探しているのですが、
なかなか見つけることが出来ません。

できればPerlがよいのですが、なければ、
Perl以外の別のプログラム言語でも構いませんので、
お勧めの本(もしくはWebサイト等)などございましたら、
ぜひ紹介してください。
よろしくお願いいたします。

Aベストアンサー

ご希望に添っているかわかりませんが、僕はPerlでXMLのテキストを取得したいときは「XML::XPath」モジュールを使用しています。XPathの書き方さえわかってしまえば、簡単にループ処理なども書けて便利です。

基本的な使い方はこちらのサイトで紹介されています。
http://www.ksknet.net/perl/xmlxpath.html

XPathの書き方は、こちらが必要十分な内容がまとめられています。
http://yakinikunotare.boo.jp/orebase/index.php?XML%2FXPath%2FXPath%A4%CE%BD%F1%A4%AD%CA%FD

Perl本は「Perl CPANモジュールガイド」がおすすめですが、XMLのことについて特別詳しく扱っているわけではありません。
「XML::Simple」と「XML::LibXML」における基本的なパースの仕方を紹介しています。
http://www.amazon.co.jp//dp/486267108X/

Q妥当なXML(Valid XML)のチェックについて

妥当な文書にするためにチェックを行っているのですが
http://validator.w3.org/
ここれでやるとThis page is not Valid (no Doctype found)!といわれ

omitted tag minimization parameter can be omitted only if OMITTAG NO is specified.

などとエラーがでてしまいます。

しかし、http://www.stg.brown.edu/service/xmlvalid/でやるときちんとValidになります。


先生からはhttp://validator.w3.org/でチェックをするときいたのですがどうしてもエラーがでるので
やはりhttp://validator.w3.org/はXHTMLだけでXMLのチェックというものはできないのでしょうか?
XMLのValidかどうかのチェックはhttp://www.stg.brown.edu/service/xmlvalid/でやればいいのでしょうか?

妥当な文書にするためにチェックを行っているのですが
http://validator.w3.org/
ここれでやるとThis page is not Valid (no Doctype found)!といわれ

omitted tag minimization parameter can be omitted only if OMITTAG NO is specified.

などとエラーがでてしまいます。

しかし、http://www.stg.brown.edu/service/xmlvalid/でやるときちんとValidになります。


先生からはhttp://validator.w3.org/でチェックをするときいたのですがどうしてもエラーがでるので
やはりhttp://validator.w3.or...続きを読む

Aベストアンサー

>ファイルをアップロードしてチェックした場合だとSorry! This document can not be checked.

再現した(笑)
[原因]
どうやらファイルアップロードはXML宣言にShift_JISって書いてあっても
us-ascii扱いになってしまうようだ。
で、そのために「ごめんね、マルチバイトの文字は読めないの」って謝られるの。
[回避策]
Extended File Upload Interfaceって奴にアクセスすると
色々指定できる。チェックする時にアップロードして
Encoding:の欄を(detect automatically) [自動的に検出する→us-asciiと検出される]からshift_jisを明示してあげると検証が行われる。

俺は大抵BOM付UTF-8で文書を作ってきちんと自動認識されていたと思う。(BOMなしだとus-asciiとかその他のエンコードだと思われかねないから)
=======================
>This page is not Valid (no Doctype found)!

[原因]
テキスト入力だと「DOCTYPE宣言書け」って書いてあるくせに、
内部サブセットだとDOCTYPE宣言だと認識できず
要素型宣言等をタグだと思い込みやがるらしい。
(当然終了タグに該当するものがないので「きちんと閉じやがれ」って言ってる)
[回避策]
なし。多分仕様。

>ファイルをアップロードしてチェックした場合だとSorry! This document can not be checked.

再現した(笑)
[原因]
どうやらファイルアップロードはXML宣言にShift_JISって書いてあっても
us-ascii扱いになってしまうようだ。
で、そのために「ごめんね、マルチバイトの文字は読めないの」って謝られるの。
[回避策]
Extended File Upload Interfaceって奴にアクセスすると
色々指定できる。チェックする時にアップロードして
Encoding:の欄を(detect automatically) [自動的に検出する→us-asciiと検出...続きを読む

QXMLファイルからXML Schemaを参照する方法?

XMLファイルの設計をしています。

今まではDTDを使っていたのですが、
勉強するとXML SchemaのほうがXMLの規則にそっていたり、
データ型が多かったりして都合が良い面があると学びました。

そこでXML Schemaを使いたいと思うのですが、
XML SchemaとメインのXMLのファイルはどのように関係させたら良いのでしょうか?

DTDのときは以下のように書いていたと思います。
<!DOCTYPE root SYSTEM "sample.dtd" >
このような記述をXML Schemaのときには、どのように記載するのだろうと
疑問に思いました。

私なりに調べてみたのですが、
XML Schemaの記述方法は、大まかに理解したのですが、
関係方法をどうすれば良いかは、見つけられませんでした。
本を読んでも、書かれているように思えません。

以下の2つのファイルがあった場合、
【element1.xml】は妥当なXML文書だそうですが、
どのように関連付いているのでしょうか?

【element.xs】
<?xml version="1.0" encoding="Shift_JIS" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- 要素宣言 -->
<xs:element name="売上高" type="xs:integer" />
</xs:schema>

【element1.xml】
<?xml version="1.0" encoding="Shift_JIS" ?>
<売上高>1000</売上高>


もしよろしければ、教えて頂けませんか?
ぜひご教示お願いいたします。

XMLファイルの設計をしています。

今まではDTDを使っていたのですが、
勉強するとXML SchemaのほうがXMLの規則にそっていたり、
データ型が多かったりして都合が良い面があると学びました。

そこでXML Schemaを使いたいと思うのですが、
XML SchemaとメインのXMLのファイルはどのように関係させたら良いのでしょうか?

DTDのときは以下のように書いていたと思います。
<!DOCTYPE root SYSTEM "sample.dtd" >
このような記述をXML Schemaのときには、どのように記載するのだろうと
疑問に思いまし...続きを読む

Aベストアンサー

いえ、関連づいていません。
#DTDで言うと、DOCTYPE宣言自体がない状態。
#妥当性検証は行われないがそれでもXMLとしては有効だ。

xsi:schemaLocation属性とかxsi:noNamespaceScemaLocation属性を調べてごらん
http://www.w3.org/TR/xmlschema-1/#xsi_schemaLocation


おすすめ情報