
XSLで、要素の値の取得方法がわかりません。
ご教授いただければうれしいです。
XML-----------------------------------
<data>
<num1>test</num1>
<title>title</title>
</data>
<data>
<num2>test2</num2>
<title>title</title>
</data>
で、XSL内で、
<xsl:template match="num1">
// ここで、num2があるか判断したい
</xsl:template>
ということは、出来るのでしょうか?
No.1ベストアンサー
- 回答日時:
こんな感じでしょうか。
<xsl:choose>
<xsl:when test="../../data/num2">
データあり
</xsl:when>
<xsl:otherwise>
データなし
</xsl:otherwise>
</xsl:choose>
判断にはxsl:choose命令を使います。子要素のxsl:when命令で
test属性が真になればその内側を実行します。
(複数のxsl:whenを記述可。最初に真になるもののみ実行)
いずれも当てはまらない場合はxsl:otherwiseの内側を実行します。
test属性で要素を指定するとその要素があれば真となります。
質問のとおりのXMLに対して「num2要素があるかどうか」であれば
上記のように指定することで判断できます。
補足ですが、1件分はdata要素でまとめられているので、「次の
data要素があるかどうか」判断する場合はtest属性で
test="../following-sibling::data"
と記述すると、現在処理中のnum1要素を含んでいるdata要素と
同じ階層の後ろにdata要素があるかどうかという条件になります。
遅くなりましたが、ありがとうございました。
解決しました。
# test="../following-sibling::data"
の説明大変勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大規模行列の計算
-
[AWS] 取得したURLにスタイルシ...
-
hana no namae osiete kudasai.
-
ASP.NETでツリービューを作成し...
-
HPビルダー2001で選んで流す。
-
Webページに関するさまざまな情...
-
UTF8への変換について
-
RSS2.0でitemが空の場合の記述
-
親子関係にない要素を限定して...
-
xsl内の変数計算方法とパラメー...
-
formタグと、imgObj.src[=strURL]
-
XMLSchemaの記述法で質問です。
-
MFCでのタブコントロールに...
-
DTDについて
-
同じタグ名の項目取得
-
東芝のDynabookなのですがアン...
-
ノードの並び替え
-
XMLファイル内のデータ(値)を変...
-
SNMP リンクダウンとノードダ...
-
ExcelVBAで書き出した文字が化ける
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Listからのnull要素を削除方法は?
-
ホームページ作成でのリンクの...
-
getElementsByNameの要素数が取...
-
どうあがいてもIE6のエンコード...
-
XPathでできるか確認
-
2つの行動の違い
-
element of surprise
-
VB2005でXMLデータから複数ある...
-
hana no namae osiete kudasai.
-
head要素
-
Webページに関するさまざまな情...
-
MFCでのタブコントロールに...
-
wikipediaに記述されている関係...
-
【C# LINQ】 MAX値と一緒に・・・
-
双方向リストで…、
-
ASP.NETでツリービューを作成し...
-
atom エディタについて
-
XMLSchemaの記述法で質問です。
-
XML:連番要素の全ての子要素にx...
-
親子関係にない要素を限定して...
おすすめ情報