У меня есть данные как:
<td>USERID</td>
<td>NAME</td>
<td>RATING</td>
Я хочу преобразовать его в:
<userid></userid>
<name></name>
<rating></rating>
Как я могу сделать это?
Используйте конструктор вычисляемого элемента , чтобы сгенерировать элемент со значением нижнего регистра
узлов текста
для каждого из td
] элементы.
Конструктор вычисляемого элемента создает узел элемента, позволяя вычислить как имя, так и содержимое узла .
Для примера, предполагая, что ваш 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>
Вы также можете оценить функция lower-case ()
как часть выражения XPATH вместо конструктора элемента, например:
<doc>
{
for $name in doc('foo.xml')//td/text()/lower-case(.)
return element {$name} {''}
}
</doc>