xml – XQuery:创建一个给定名称的新元素?

我有数据如:
<td>USERID</td>

    <td>NAME</td>

    <td>rating</td>

我想把它变成:

<userid></userid>
<name></name>
<rating></rating>

我该怎么做?

使用 computed element constructor生成具有每个td元素的文本节点的小写值的元素.

A computed element constructor
creates an element node,allowing both
the name and the content of the node
to be computed.

为了这个例子,假设你的XML在一个名为foo.xml的文件中,你可以这样做:

<doc>
{
for $name in doc('foo.xml')//td/text()
return element {lower-case($name)} {''}
}
</doc>

产生这个:

<?xml version="1.0" encoding="UTF-8"?>
<doc>
 <userid/>
 <name/>
 <rating/>
</doc>

您还可以将小写()函数作为XPATH表达式的一部分而不是元素构造函数,如下所示:

<doc>
{
for $name in doc('foo.xml')//td/text()/lower-case(.)
return element {$name} {''}
}
</doc>

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念