在XQuery中省略空返回值
我有一个XQuery返回语句,如:在XQuery中省略空返回值,xquery,Xquery,我有一个XQuery返回语句,如: return <li> <h3>{ string($TELECAST/title/maintitle) }</h3> <h4>{ string($TELECAST/title/subtitle) }</h4> <h5>{ string($TELECAST/title/description) }</h5> </li> 返回 {string($TELEC
return
<li>
<h3>{ string($TELECAST/title/maintitle) }</h3>
<h4>{ string($TELECAST/title/subtitle) }</h4>
<h5>{ string($TELECAST/title/description) }</h5>
</li>
返回
{string($TELECAST/title/mainttitle)}
{string($telecoast/title/subtitle)}
{string($telecoast/title/description)}
有时,没有字幕或描述,仍然会输出HTML标记。如何轻松检查空字符串并省略不必要的标记?您可以使用该函数。但是,请记住,该功能不会自动修剪空白。您可以使用该功能。但是,请记住,该函数不会自动修剪空白。例如,如下所示:
return
<li> {
for $i in $TELECAST/title/maintitle return <h3>{ string($i) }</h3>,
for $i in $TELECAST/title/subtitle return <h4>{ string($i) }</h4>,
for $i in $TELECAST/title/description return <h5>{ string($i) }</h5>
} </li>
返回
{
对于$TELECAST/title/mainttitle返回{string($i)}中的$i,
对于$TELECAST/title/subtitle返回{string($i)}中的$i,
对于$TELECAST/title/description中的$i,返回{string($i)}
}
例如,如下所示:
return
<li> {
for $i in $TELECAST/title/maintitle return <h3>{ string($i) }</h3>,
for $i in $TELECAST/title/subtitle return <h4>{ string($i) }</h4>,
for $i in $TELECAST/title/description return <h5>{ string($i) }</h5>
} </li>
返回
{
对于$TELECAST/title/mainttitle返回{string($i)}中的$i,
对于$TELECAST/title/subtitle返回{string($i)}中的$i,
对于$TELECAST/title/description中的$i,返回{string($i)}
}
在不使用函数的情况下,此XQuery表达式:
<ul>{
for $TELECAST in /root/telecast
return
<li>{
for $item in $TELECAST/title/*
return
typeswitch($item)
case element(maintitle) return <h3>{string($item)}</h3>
case element(subtitle) return <h4>{string($item)}</h4>
case element(description) return <h5>{string($item)}</h5>
default return ()
}</li>
}</ul>
{
在/root/TELECAST中进行$TELECAST
返回
- {
对于$TELECAST/标题中的$item/*
返回
打字开关($项)
case元素(mainttitle)返回{string($item)}
case元素(subtitle)返回{string($item)}
case元素(description)返回{string($item)}
默认返回()
}
}
通过此输入:
<root>
<telecast>
<title>
<maintitle>Title</maintitle>
<subtitle>Subtitle</subtitle>
<description>Description</description>
</title>
</telecast>
<telecast>
<title>
<maintitle>Title2</maintitle>
<description>Description2</description>
</title>
</telecast>
</root>
标题
字幕
描述
标题2
说明2
输出:
<ul>
<li>
<h3>Title</h3>
<h4>Subtitle</h4>
<h5>Description</h5>
</li>
<li>
<h3>Title2</h3>
<h5>Description2</h5>
</li>
</ul>
-
标题
字幕
描述
-
标题2
说明2
在不使用函数的情况下,此XQuery表达式:
<ul>{
for $TELECAST in /root/telecast
return
<li>{
for $item in $TELECAST/title/*
return
typeswitch($item)
case element(maintitle) return <h3>{string($item)}</h3>
case element(subtitle) return <h4>{string($item)}</h4>
case element(description) return <h5>{string($item)}</h5>
default return ()
}</li>
}</ul>
{
在/root/TELECAST中进行$TELECAST
返回
- {
对于$TELECAST/标题中的$item/*
返回
打字开关($项)
case元素(mainttitle)返回{string($item)}
case元素(subtitle)返回{string($item)}
case元素(description)返回{string($item)}
默认返回()
}
}
通过此输入:
<root>
<telecast>
<title>
<maintitle>Title</maintitle>
<subtitle>Subtitle</subtitle>
<description>Description</description>
</title>
</telecast>
<telecast>
<title>
<maintitle>Title2</maintitle>
<description>Description2</description>
</title>
</telecast>
</root>
标题
字幕
描述
标题2
说明2
输出:
<ul>
<li>
<h3>Title</h3>
<h4>Subtitle</h4>
<h5>Description</h5>
</li>
<li>
<h3>Title2</h3>
<h5>Description2</h5>
</li>
</ul>
-
标题
字幕
描述
-
标题2
说明2
看起来您可以检查一个项目是否是,或者它看起来是否是一个项目您可以检查一个项目是否是,或者一个项目XPST0003 XQuery语法错误是否在#…字符串($i)}附近为$#:预期为“}”,为“
找到”谢谢,这似乎是这里最简单的解决方案<代码>XPST0003 XQuery语法错误#…字符串($i)}附近的$#:预期为“}”,发现为“谢谢,这似乎是这里最简单的解决方案!