在整个 XML CategoryID 树中搜索

Search in the entire XML CategoryID Tree

我正在尝试在整个实体树中搜索类别 ID。

目前我是这样搜索的:

/root/EntityHelpers/Category/Entity[EntityID = $CategoryID]/EntityName

这里的问题是,它只搜索树中的第一级 ID。

树看起来像这样,我应该搜索第一个实体标签的所有子节点:

 <EntityHelper>
    <Category>
        <Entity>
            <EntityID>1</EntityID>
            <EntityName>Test1</EntityName>
            <Entity>
                <EntityID>12</EntityID>
                <EntityName>Test2</EntityName>
            </Entity>
        </Entity>
            <Entity>
            <EntityID>2</EntityID>
            <EntityName>Test1</EntityName>
            <Entity>
                <EntityID>22</EntityID>
                <EntityName>Test2</EntityName>
            </Entity>
        </Entity>
    </Category>
</EntityHelper>

因此,如果我想搜索类别 ID 1,它将 return 名称,但如果我搜索类别 ID 12,它将不会 return 任何内容。

有没有人知道如何使(1 和 12)return 他们的名字起作用?

我找到了解决问题的方法:

select="/root/EntityHelpers/Category//Entity[EntityID = $CategoryID]/Name">

// 选择所有元素,无论它们在文档中的什么位置

对我来说,这是一个不同的错误,但它可能会帮助遇到同样问题的人。