1

有什么方法可以使用xpath 函数知道<privacy />xml 中是否存在 self-closing() XML 标签。mysql ExtractValue

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()');总是在结果中返回空格,带或不带自闭标签。

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

4

1 回答 1

2

根据8.0 文档,您可以像这样使用 count :

SELECT  ExtractValue(xml, 'count(//employee/privacy)'
于 2021-05-20T12:15:56.270 回答