- 締切済み
XMLからXML
こんにちわ。 以下のやり方がわからなく、困っています。 XSLTを使って以下のようなXML→XMLを行いたいのですが。 変更前: <a> <b> <c>abc</c> <d>def</d> </b> </a> 変更後: <b> <c>abc</c> <d>def</d> </b> ようするに、指定したタグ以下のXML構造をそのまま取り出したいのです。 <xsl:template match="/a"> <xsl:apply-templates select="b"/> </xsl:template> だと中身のabc defしか取れません。 <c>とか<d>は、時によって変わる場合、どのようなXSLT を書けばよいのでしょうか? 申し訳ありませんが、わかる方がいれば教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nanimania
- ベストアンサー率36% (34/93)
<xsl:template match="/a"> <xsl:copy-of select="*:text()"/> </xsl:template> これで指定した名前のノード以下(そのノードは含まない)の内容をコピー生成します。
- inugasuki
- ベストアンサー率0% (0/0)
<?xml version="1.0"?> 下記でうまく行くはず...。 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/a"> <xsl:apply-templates/> </xsl:template> <xsl:template match="@*|*|text()"><!-- @*|node() --> <xsl:copy> <xsl:apply-templates select="@*|*|text()" /> </xsl:copy> </xsl:template> </xsl:stylesheet>