【Googleドキュメント】Docs→XMLエクスポート!データ連携用フォーマット

【Googleドキュメント】Docs→XMLエクスポート!データ連携用フォーマット
🛡️ 超解決

Googleドキュメントで作成した文書を、他のシステムやツールと連携するためにXML形式で出力したいと考えたことはありませんか。XMLはデータ構造を柔軟に定義できるため、システム間のデータ連携に広く利用されています。この記事では、Googleドキュメントの内容をXMLとしてエクスポートする具体的な方法をご紹介します。Apps Scriptを使った自動化とアドオンを使った簡易的な手法の両方を解説しますので、目的に合わせて選択してください。

【要点】GoogleドキュメントからXMLへエクスポートする3つのアプローチ

  • Apps Scriptでスクリプトを作成: ドキュメントの内容を取得し、任意のXML構造に変換して出力します。カスタマイズ性が高く、データ連携に最適です。
  • 「Docs to XML」アドオンを利用: アドオンをインストールすれば、メニューから簡単にXMLに変換できます。手軽に試したい場合におすすめです。
  • HTML出力をXMLに変換: 標準のHTMLエクスポートを経由して、外部ツールでXMLに変換する方法もあります。追加のスクリプトが不要な場合に有効です。

ADVERTISEMENT

GoogleドキュメントからXMLへエクスポートする2つの方法

Googleドキュメントの標準機能ではXML形式での直接エクスポートは提供されていません。しかし、Apps Scriptを利用する方法とアドオンを利用する方法の2つで実現できます。それぞれの手順を詳しく説明します。

方法1:Apps Scriptを使用する

  1. スクリプトエディタを開く
    Googleドキュメントを開き、メニューの「拡張機能」から「Apps Script」を選択します。新しいプロジェクトが開きます。
  2. スクリプトコードを記述する
    以下のコードをエディタに貼り付けます。このコードはドキュメントの段落と見出しをXMLに変換します。
    function exportToXML() {
    var doc = DocumentApp.getActiveDocument();
    var body = doc.getBody();
    var xml = '<?xml version="1.0" encoding="UTF-8"?>\n';
    xml += '<document>\n';
    var paragraphs = body.getParagraphs();
    for (var i = 0; i < paragraphs.length; i++) {
    var p = paragraphs[i];
    var text = p.getText();
    if (p.getHeading() == DocumentApp.Heading.HEADING1) {
    xml += ' <heading level="1">' + escapeXml(text) + '</heading>\n';
    } else if (p.getHeading() == DocumentApp.Heading.HEADING2) {
    xml += ' <heading level="2">' + escapeXml(text) + '</heading>\n';
    } else {
    xml += ' <paragraph>' + escapeXml(text) + '</paragraph>\n';
    }
    }
    xml += '</document>';
    // 結果をログに出力
    Logger.log(xml);
    // ファイルとして保存する場合はさらに処理を追加します
    }
    function escapeXml(text) {
    return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
    }
  3. スクリプトを実行する
    スクリプトエディタで関数 exportToXML を選択し、実行ボタンをクリックします。初回は権限の承認が必要です。「確認」画面で自分のアカウントを選び、「許可」をクリックします。
  4. XMLの出力を確認する
    実行後、スクリプトエディタの「表示」→「ログ」で生成されたXMLを確認できます。必要に応じて、Googleドライブにファイルとして保存するコードを追加してください。

方法2:アドオン「Docs to XML」を使用する

  1. アドオンをインストールする
    Googleドキュメントのメニューから「拡張機能」→「アドオン」→「アドオンを取得」を開き、「Docs to XML」を検索してインストールします。
  2. アドオンを起動する
    インストール後、「拡張機能」→「Docs to XML」→「開始」をクリックします。サイドバーが開きます。
  3. エクスポート設定を行う
    サイドバーで出力するXMLの構造を選択します。プリセットとして「シンプルな文書構造」や「カスタム」などがあります。必要に応じて詳細設定を変更します。
  4. XMLファイルをダウンロードする
    「エクスポート」ボタンをクリックすると、XMLファイルが生成されダウンロードされます。ファイル名や保存場所はブラウザの設定に従います。

XMLエクスポート時の注意点

特殊文字の扱い

XMLでは <、>、&、"、' などの文字は実体参照に変換する必要があります。Apps Scriptのサンプルコードでは escapeXml 関数で対応していますが、アドオンを使用する場合は自動で処理されることが多いです。必ず出力結果を確認しましょう。

文字コードの指定

XML宣言でエンコーディングを明示しないと、システムによって文字化けが発生する可能性があります。サンプルコードでは UTF-8 を指定しています。アドオンの場合も設定でUTF-8を選ぶことをおすすめします。

スクリプトの権限設定

Apps Scriptを実行する際、スクリプトがドキュメントへのアクセス権限を要求します。初回は承認画面が表示されます。組織で制限がかかっている場合は管理者に相談してください。

標準エクスポート形式とXMLエクスポートの比較

形式 用途 カスタマイズ性 変換のしやすさ
XML システム連携、データ交換 高い(スクリプトで自由に構造変更) スクリプトまたはアドオンが必要
HTML ウェブ公開、文書アーカイブ 中程度(スタイルは保持される) 標準メニューからワンクリック
プレーンテキスト データ抽出、シンプルな処理 低い(書式や構造が失われる) 標準メニューからワンクリック

ADVERTISEMENT

まとめ

GoogleドキュメントからXMLにエクスポートする方法として、Apps Scriptによるカスタムスクリプトとアドオンの2つをご紹介しました。Apps Scriptを使えば、文書の構造を細かく制御したXMLを生成でき、システム連携に強力です。一方、アドオンはコードを書かずに手軽に変換したい場合に便利です。どちらの方法も、出力されたXMLを検証して正しいフォーマットになっているか確認することが重要です。XMLエクスポートをマスターして、データ連携の幅を広げてみてください。


ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

SPONSORED