+ -
当前位置:首页 → 问答吧 → xquery得到祖先节点的问题

xquery得到祖先节点的问题

时间:2011-07-25

来源:互联网

如何得到当前节点的祖先节点?
XML code
<root>
    <students id=1>
        <student>
            <name>Jim</name>
            <age>22</age>
        </student>
        <student>
            <name>Jack</name>
            <age>33</age>
        </student>
    </students>
    <students id=2>
        <student>
            <name>Marry</name>
            <age>21</age>
        </student>
    </students>
</root>

我想得到名字为Marry的student(包含祖先节点)
如:XML code
<root>
    <students id=2>
        <student>
            <name>Marry</name>
            <age>21</age>
        </student>
    </students>
</root>

我写的xquery语句为
for $var in doc("student.xml")/root/students/student
where $var/name="Marry"
return ???
虽然能够得到满足条件的student节点,但是如何得到其祖先节点,从而得到上述结果?

作者: king_on   发布时间: 2011-07-25

XML code
for $var in doc("student.xml")/root/students/student
where $var/name="Marry"
return <root>{$var/..}</root>


结果(saxonhe运行)
XML code
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <students id="2">
        <student>
            <name>Marry</name>
            <age>21</age>
        </student>
    </students>
</root>

作者: huntor   发布时间: 2011-07-25

热门下载

更多