如何使用XPath在XML中选择兄弟节点?

Eri*_*air 3 xml xpath

假设以下XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <info>
        <code>
            ABC
        </code>
        <desc>
            A
        </desc>
    </info>
    <info>
        <code>
            DEF
        </code>
        <desc>
            A
        </desc>
    </info>
    <info>
        <code>
            XYZ
        </code>
        <desc>
            B
        </desc>
    </info>
</root>
Run Code Online (Sandbox Code Playgroud)

如何选择值为"A"的所有code元素desc

我尝试了以下XPath,它没有给我任何东西:

/root/info[desc='A']
Run Code Online (Sandbox Code Playgroud)

Dan*_*ley 5

就像@Jim Garrison说的那样,你需要使用normalize-space()on,<desc>但是你可以通过添加/code(和normalize-space())来保持你拥有的xpath

/root/info[normalize-space(desc)='A']/code
Run Code Online (Sandbox Code Playgroud)