私のXSLT-fuはそれだけではありませんが、XSLTを使用することができます。
あなたは実際に賢明なことをしようとしています。それは、国コードタグをタグに変換することです。
特定のノードの子のリストを繰り返し処理することは簡単です。現在のノードのタグ名を取得することができます。必要なものを多かれ少なかれ出力することができます。私が今までにしていたことは何でも)は、ノード名を摘発するための正確な呪文です。
編集:答えの手放すには余りにも良い質問(学習機会)
に欠落ビットがstackoverflow
に、当然のことながら、あるので、それは私が知っている内容に基づいて(あなたにこれを提供します。 ..私は地域のコピーを簡素化することができると確信しているが、私は方法がわからない):!歓迎の改善のための
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="countries" />
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="countries">
<countries>
<xsl:for-each select="child::*">
<country code="{local-name()}">
<xsl:apply-templates select="region" />
</country>
</xsl:for-each>
</countries>
</xsl:template>
<xsl:template match="region">
<region>
<xsl:value-of select="."/>
</region>
</xsl:template>
</xsl:stylesheet>
提案 - などの適切な修正されます!
私はそれがもっと簡潔にできることを知っていました( - : – Murph
MurphとRobertに感謝します。 –