XMLとテキストの変換を完全解説!初心者でもできる方法まとめ

プログラミング・IT

「XMLファイルをテキストに変換したい」
「テキストデータをXML形式にしたい」

データの扱い方が分からず、困っていませんか?

XMLファイルは、プログラミングやデータ処理でよく使われる形式ですが、そのままでは読みづらく、編集も大変です。一方、テキストファイル(TXT)なら、メモ帳などのシンプルなエディタで簡単に扱えます。

この記事では、XMLとテキストを相互に変換する方法を、初心者にも分かりやすく解説します。オンラインツール、プログラミング、エディタを使った方法まで、あらゆる手段を紹介します。

スポンサーリンク

XMLファイルとは?基礎知識

まず、XMLについて基本を理解しておきましょう。

XMLとは

XML(eXtensible Markup Language)は、データを構造化して保存・転送するためのマークアップ言語です。

特徴:

  • タグを使ってデータを階層的に整理できる
  • 人間が読める形式
  • 機械(プログラム)でも処理しやすい
  • 様々な業界標準で使用されている(ISO 20022、HL7、ACORDなど)

XMLの構造例

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book category="programming">
        <title>Python入門</title>
        <author>山田太郎</author>
        <year>2025</year>
        <price>3500</price>
    </book>
    <book category="web">
        <title>HTML&CSS完全ガイド</title>
        <author>佐藤花子</author>
        <year>2024</year>
        <price>2800</price>
    </book>
</bookstore>

このように、XMLはタグ(<bookstore><book>など)を使って、データを階層的に表現します。

XMLとテキストファイルの違い

項目XMLテキストファイル(TXT)
構造タグで階層的に整理単純な文字列
読みやすさタグがあるため少し読みにくいそのまま読める
データ処理プログラムで処理しやすい処理には工夫が必要
ファイルサイズタグがあるため大きい小さい
用途データ交換、設定ファイルメモ、ログ、シンプルな記録

XMLをテキストに変換する5つの方法

XMLファイルをテキストファイルに変換する方法を、5つ紹介します。

方法1:オンライン変換ツールを使う【最も簡単】

ソフトウェアをインストールせず、ブラウザだけで変換できます。

おすすめのオンラインツール

1. AnyConv(https://anyconv.com/ja/xml-to-txt-konbata/)

  • 完全無料
  • 登録不要
  • 複数ファイルを一括変換可能
  • すべてのブラウザで動作

2. FreeConvert(https://www.freeconvert.com/ja/xml-to-txt)

  • 500以上の形式に対応
  • 256ビットSSL暗号化で安全
  • ファイルは数時間後に自動削除

3. Aspose(https://products.aspose.app/cells/ja/conversion/xml-to-txt)

  • Windows、Mac、Android、iOS対応
  • プラグイン不要
  • Fortune 100企業に使用されているAPI

使い方(AnyConvの例)

手順:

  1. AnyConvのウェブサイトを開く
  2. 「ファイルを選択」をクリック、またはドラッグ&ドロップ
  3. XMLファイルをアップロード
  4. 「変換」ボタンをクリック
  5. 数秒で変換完了
  6. 「ダウンロード」をクリックしてTXTファイルを保存

メリット:

  • ソフトウェア不要
  • 操作が簡単
  • すぐに使える

デメリット:

  • インターネット接続が必要
  • 大容量ファイルには不向き(通常100MB以下)
  • セキュリティ面で機密データには不適

方法2:テキストエディタで開く

XMLファイルは、実はテキストエディタで直接開くことができます。

使えるテキストエディタ

Windows:

  • メモ帳(標準搭載)
  • Notepad++(無料)
  • Visual Studio Code(無料)

Mac:

  • テキストエディット(標準搭載)
  • Sublime Text(無料版あり)
  • Visual Studio Code(無料)

手順(Windowsのメモ帳の例)

  1. XMLファイルを右クリック
  2. 「プログラムから開く」「メモ帳」を選択
  3. XMLの内容がテキストとして表示される
  4. 必要に応じて編集
  5. 「ファイル」「名前を付けて保存」
  6. ファイル名を「example.txt」のように変更
  7. 「保存」

メリット:

  • ソフトウェアのインストール不要(標準アプリで可能)
  • オフラインで使える
  • 無料

デメリット:

  • タグも含めてすべて表示される
  • 大きなファイルは開くのに時間がかかる

方法3:Pythonプログラミングで変換

プログラミングができる方には、Pythonを使った方法がおすすめです。

Pythonで変換する基本コード

import xml.etree.ElementTree as ET

# XMLファイルを読み込む
tree = ET.parse('input.xml')
root = tree.getroot()

# XMLからテキストのみを抽出
text_content = ET.tostring(root, encoding='utf-8', method='text')

# テキストファイルに保存
with open('output.txt', 'wb') as f:
    f.write(text_content)

print("変換完了!")

このコードの説明:

  • xml.etree.ElementTree:Pythonの標準ライブラリ(追加インストール不要)
  • parse():XMLファイルを読み込む
  • tostring():XMLをテキストに変換(method='text'でタグを除去)
  • write():ファイルに書き込む

より高度な変換(CSVに変換)

import xml.etree.ElementTree as ET
import csv

# XMLファイルを読み込む
tree = ET.parse('books.xml')
root = tree.getroot()

# CSVファイルに書き込む
with open('output.csv', 'w', newline='', encoding='utf-8') as csvfile:
    csvwriter = csv.writer(csvfile)

    # ヘッダー行
    csvwriter.writerow(['タイトル', '著者', '年', '価格'])

    # 各book要素を処理
    for book in root.findall('book'):
        title = book.find('title').text
        author = book.find('author').text
        year = book.find('year').text
        price = book.find('price').text
        csvwriter.writerow([title, author, year, price])

print("CSV変換完了!")

メリット:

  • 大量のファイルを一括処理できる
  • 柔軟なカスタマイズが可能
  • 自動化できる

デメリット:

  • プログラミングの知識が必要
  • 環境構築が必要

方法4:Excelを使う

XMLをExcelで開いて、テキストファイルとして保存する方法もあります。

手順:

  1. Excelを開く
  2. 「ファイル」「開く」
  3. ファイルの種類を「すべてのファイル」に変更
  4. XMLファイルを選択
  5. 「XMLテーブルとして開く」を選択
  6. データが表形式で表示される
  7. 「ファイル」「名前を付けて保存」
  8. ファイルの種類を「テキスト(タブ区切り)」または「CSV」に変更
  9. 「保存」

メリット:

  • Excelが使える人なら簡単
  • データを表形式で確認できる
  • 編集しやすい

デメリット:

  • Excelが必要(有料)
  • 複雑なXML構造には対応しづらい

方法5:専用ソフトウェアを使う

より高度な変換には、専用ソフトウェアが便利です。

おすすめソフトウェア

1. Altova MapForce

  • XMLと他の形式を相互変換できる強力なツール
  • ドラッグ&ドロップで変換ルールを作成
  • 無料トライアルあり

2. PDFelement

  • XMLをPDF、テキストなど様々な形式に変換
  • OCR機能も搭載

3. T2X(テキスト⇒XML変換システム)

  • 日本製のツール
  • 正規表現を使った柔軟な変換
  • 受注メールなどの実務に対応

テキストをXMLに変換する方法

逆に、テキストファイルをXML形式に変換する方法も紹介します。

方法1:オンラインツール

AnyConv(https://anyconv.com/ja/txt-to-xml-konbata/)

手順:

  1. ウェブサイトを開く
  2. TXTファイルをアップロード
  3. 出力形式で「XML」を選択
  4. 「変換」をクリック
  5. 変換されたXMLファイルをダウンロード

注意:
単純なテキストをXMLに変換する場合、構造化されたデータでないと意味のあるXMLにはなりません。

方法2:Pythonプログラミング

構造化されたテキストデータ(CSV、TSVなど)をXMLに変換できます。

CSVをXMLに変換する例

import csv
import xml.etree.ElementTree as ET

# ルート要素を作成
root = ET.Element('bookstore')

# CSVファイルを読み込む
with open('books.csv', 'r', encoding='utf-8') as csvfile:
    csvreader = csv.DictReader(csvfile)

    for row in csvreader:
        # book要素を作成
        book = ET.SubElement(root, 'book')
        book.set('category', row['category'])

        # 子要素を追加
        title = ET.SubElement(book, 'title')
        title.text = row['title']

        author = ET.SubElement(book, 'author')
        author.text = row['author']

        year = ET.SubElement(book, 'year')
        year.text = row['year']

        price = ET.SubElement(book, 'price')
        price.text = row['price']

# XML形式で整形
tree = ET.ElementTree(root)
ET.indent(tree, space="  ", level=0)  # Python 3.9以降

# ファイルに保存
tree.write('output.xml', encoding='utf-8', xml_declaration=True)

print("XML変換完了!")

方法3:T2X(専用ツール)

日本のメイプルソフトが提供する「T2X」は、プレーンテキストをXMLに変換する専用システムです。

特徴:

  • 正規表現を使った柔軟な項目指定
  • 複雑な構造にも対応
  • 受注メールなど実務的な用途に最適

使用例:

  • 受注メールからデータ抽出
  • HTMLからニュース記事を抽出
  • 既存文書のXMLデータベース化

XMLをブラウザで確認する方法

XMLファイルをブラウザで開くと、見やすく表示できます。

手順:

  1. XMLファイルを右クリック
  2. 「プログラムから開く」ブラウザ(Chrome、Firefox、Edgeなど)を選択
  3. XMLがツリー構造で表示される

メリット:

  • 階層構造が見やすい
  • タグの折りたたみ・展開ができる
  • 検証エラーも表示される

実際の使用例

使用例1:Webサイトのサイトマップ

多くのWebサイトは、検索エンジン向けに「sitemap.xml」というファイルを公開しています。

変換する理由:

  • URLのリストをテキストファイルで管理したい
  • Excelで分析したい

手順:

  1. sitemap.xmlをダウンロード
  2. オンラインツールでCSVに変換
  3. Excelで開いて分析

使用例2:設定ファイルの編集

アプリケーションの設定ファイルは、XMLで保存されることが多いです。

変換する理由:

  • 設定内容を簡単に確認したい
  • バックアップを取りたい

手順:

  1. 設定ファイル(config.xmlなど)をテキストエディタで開く
  2. 必要な箇所を編集
  3. 保存

使用例3:データベースへのインポート

XMLデータをデータベース(MySQL、PostgreSQLなど)に取り込む場合。

変換する理由:

  • データベースに取り込みやすいCSV形式にしたい

手順:

  1. PythonでXMLを読み込む
  2. CSVに変換
  3. データベースにインポート

よくある質問(Q&A)

Q1:XMLファイルをメモ帳で開くと文字化けします

A: 文字コードの問題です。XMLファイルの先頭にencoding="UTF-8"と書かれている場合、UTF-8対応のエディタ(Notepad++、Visual Studio Codeなど)を使ってください。

Q2:大きなXMLファイル(100MB以上)を変換したい

A: オンラインツールは容量制限があるため、Pythonプログラミングまたは専用ソフトウェアを使ってください。Pythonなら、大きなファイルでも処理できます。

Q3:XMLのタグを除いて、データだけを抽出したい

A: PythonのElementTree.tostring()method='text'を指定すれば、タグを除外できます。

text_only = ET.tostring(root, encoding='utf-8', method='text')

Q4:変換したテキストファイルが文字化けしている

A: 文字コードの問題です。保存時に「UTF-8」を指定してください。Pythonの場合:

with open('output.txt', 'w', encoding='utf-8') as f:
    f.write(text_content)

Q5:XMLをExcelに変換できますか?

A: はい、できます。Excelで直接XMLを開くか、オンラインツール、Pythonで変換できます。

Q6:XMLの一部だけをテキストに変換したい

A: Pythonで特定の要素だけを抽出できます。

# 特定の要素だけを抽出
for book in root.findall('book'):
    title = book.find('title').text
    print(title)

Q7:セキュリティ面で気をつけることはありますか?

A: オンラインツールを使う場合、機密情報を含むXMLファイルはアップロードしないでください。社内の重要データは、オフラインのツール(Python、専用ソフト)を使いましょう。

Q8:無料で使えるツールはどれですか?

A: 以下が無料で使えます:

  • オンラインツール(AnyConv、FreeConvert)
  • テキストエディタ(メモ帳、Notepad++、VS Code)
  • Python(完全無料)

まとめ:目的に応じて最適な方法を選ぼう

XMLとテキストの変換方法について、重要なポイントをまとめます。

XML→テキスト変換の方法まとめ

方法難易度おすすめ度こんな人におすすめ
オンラインツール★☆☆☆☆★★★★★すぐに変換したい初心者
テキストエディタ★☆☆☆☆★★★☆☆内容を確認したい人
Python★★★☆☆★★★★☆大量処理が必要な人
Excel★★☆☆☆★★★☆☆表形式で見たい人
専用ソフト★★★★☆★★★★☆高度な変換が必要な人

おすすめの方法

初心者・今すぐ変換したい:
オンラインツール(AnyConv、FreeConvert)

ちょっと確認したいだけ:
テキストエディタ(メモ帳、VS Code)

大量のファイルを処理:
Pythonプログラミング

データ分析したい:
ExcelまたはCSVに変換

業務で定期的に使う:
専用ソフトウェア(Altova MapForce、T2Xなど)

重要なポイント

✓ XMLとは

  • データを階層的に整理するマークアップ言語
  • タグを使って構造化されている
  • 人間にも機械にも読みやすい

✓ 変換する理由

  • XMLはタグがあるため読みづらい
  • テキストファイルなら簡単に編集できる
  • データベースやExcelで扱いやすくなる

✓ 選び方

  • 1回だけ:オンラインツール
  • プログラミングができる:Python
  • 定期的に使う:専用ソフトウェア

✓ 注意点

  • 機密情報はオンラインツールを避ける
  • 文字コードはUTF-8を推奨
  • 大容量ファイルはPythonか専用ソフト

XMLとテキストの変換は、適切なツールを選べば簡単にできます。この記事を参考に、あなたの目的に合った方法を試してみてください!

コメント

タイトルとURLをコピーしました