※ ChatGPTを利用し、要約された質問です(原文:XMLをCSVへ変換でほしい情報を取得したい)
XMLをCSVへ変換する方法とaidの取得方法
このQ&Aのポイント
XMLをCSVへ変換する方法について説明します。また、aidを取得するためのXSLの記述方法も解説します。
XMLをCSVへ変換する際に必要なXSLの記述方法と、aidを取得する方法について詳しく説明します。
XMLをCSVへ変換する方法と、aidを取得するためのXSLの記述方法について解説します。必要な情報を抽出するためのレイアウトも紹介します。
XMLからcsvへの変換
下記のXMLのフィールドの項目をxslを使い、msxsl.exe経由で、csvへ変換をしたいのです。
ユーザーデータ部分は抽出可能ですが、aidを抽出する方法がわかりません。
どなたかご教示のほど、お願いいたします。
■XML
<?xml version="1.0" encoding="shift_jis"?>
<状況 aid="555">
<ユーザデータ uid="0001">
<氏名>吉野家 太郎</氏名>
<ID>123456</ID>
<種別>一般</種別>
<率>100</率>
<最終更新>2012/02/16 15:20:58</最終更新>
</ユーザデータ>
<ユーザデータ uid="0002">
<氏名>吉野家 次郎</氏名>
<ID>123457</ID>
<種別>一般</種別>
<率>10</率>
<最終更新>2012/03/16 15:20:58</最終更新>
</ユーザデータ>
</状況>
■xsl ユーザーデータ取得用
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="text" encoding="Shift_JIS" />
<xsl:template match="/">uid,氏名,ID,種別,率,最終更新
<xsl:apply-templates select="/状況/ユーザデータ"/>
</xsl:template>
<xsl:template match="ユーザデータ">
<xsl:value-of select="@uid" /><xsl:text>,</xsl:text>
<xsl:value-of select="氏名" /><xsl:text>,</xsl:text>
<xsl:value-of select="ID" /><xsl:text>,</xsl:text>
<xsl:value-of select="種別" /><xsl:text>,</xsl:text>
<xsl:value-of select="率" /><xsl:text>,</xsl:text>
<xsl:value-of select="最終更新" /><xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
aidを取得するにはどのようなXSLを書けばよいのでしょうか?
抽出時のレイアウト
aid,uid,氏名,ID,種別,率,最終更新
よろしくお願いいたします。
お礼
回答ありがとうございます。 試しました。 表示できました。 本当にありがとうございます。 助かりました。
補足
試したところ、aid属性値に2桁の空白がどうしても入ります。 ヘダー情報を「aid,uid,氏名,ID,種別,率,最終更新」を書くのを やめると明細の空白はなくなりました。 最終行だけ2桁の空白が残ってしまいます。 これを除去したいです。 もう少し調べてみますが、 なにかヒントなどの助言をいただければ幸いです。