2010-11-19 9 views
3

私はXqueryで学んでいます。 XML文書にこのタグがあります。xqueryで属性をタグに変換する

<element a="1" b="2" c="3" name="testgroupID">198</element> 
<element a="11" b="12" c="13" name="testgroupverifyID" binary="hidden"/> 

xqueryで次のように作成する方法を知っていますか?

<mytags> 
    <a>1</a> 
    <b>2</b> 
    <c>3</c> 
    <name>testgroupID</name> 
    <value>198</value> 
</mytags> 
<mytags> 
    <a>11</a> 
    <b>12</b> 
    <c>13</c> 
    <name>testgroupverifyID</name> 
    <binary>hidden</binary> 
</mytags> 

現在、私だけのように、それを行うには、静的な方法を使用することができます。親切に助言= $ X/ @その後、{$タグ

でそれを返す:

$タグ。どうもありがとうございました。

答えて

2

このXQueryの:

for $elem in /root/element 
return element mytags { 
      for $child in $elem/(@*|text()) 
      return element {if ($child instance of attribute()) 
          then name($child) 
          else 'value'} { 
        string($child) 
       } 
     } 

出力:

<mytags> 
    <a>1</a> 
    <b>2</b> 
    <c>3</c> 
    <name>testgroupID</name> 
    <value>198</value> 
</mytags> 
<mytags> 
    <a>11</a> 
    <b>12</b> 
    <c>13</c> 
    <name>testgroupverifyID</name> 
    <binary>hidden</binary> 
</mytags> 
関連する問題