根据另一个子标签的值获取子标签的值

时间:2018-11-19 15:03:28

标签: mysql xml xpath

假设我在MySQL中有一个LONGTEXT列,其中包含以下值

<Parent1> 
    <Parent2>
        <Parent3>
            <id>1</id>
            <name>Testing 1</name>
            <age>10</age>
        </Parent3>

        <Parent3>
            <id>2</id>
            <name>Testing 2</name>
            <age>5</age>
        </Parent3>
    </Parent2>
</Parent1>

我想提取子标签nameage的值,其中id的{​​{1}}等于Parent3,但是我不太确定为了达到此目的,我应该将什么xpath传递给extractValue

任何指导将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使用

//Parent3[id=2]/name/text()
//Parent3[id=2]/age/text()

提取包含name等于age的{​​{1}}的{​​{1}}和Parent3子元素的值

答案 1 :(得分:1)

如果您希望一个xpath获得结果,我会看到两种方法

1:

//Parent3[id = 2]/name/text()|//Parent3[id = 2]/age/text()

2:

//Parent3[id = 2]/*[self::name|self::age]/text()