使用 mysql ExtractValue 自闭 XML 标签的 xpath

xpath of Self-closing XML tag using mysql ExtractValue

有没有办法知道xml中是否存在自闭(<privacy />)XML标签,使用mysqlExtractValue xpath 函数。

xml是,

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<employees>
    <employee>
        <privacy />
        <firstName>Brian</firstName>
        <lastName>Schultz</lastName>
    </employee>
</employees>

SP 是

CREATE DEFINER=`root`@`%` PROCEDURE `xpath1`(IN xml VARCHAR(10000))
BEGIN
SELECT  ExtractValue(xml, '//employee/firstName/text()');
/*SELECT  ExtractValue(xml, '//employee/privacy');
 SELECT  ExtractValue(xml, '//employee/privacy/text()');*/
END

ExtractValue(xml, '//employee/privacy'); & ExtractValue(xml, '//employee/privacy/text()'); 在结果中总是 return 空 space 有或没有自关闭标签。

xml 来自外部应用程序。任何帮助都很棒..

根据 the 8.0 docs 你可以这样使用计数:

SELECT  ExtractValue(xml, 'count(//employee/privacy)'