Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XPath遍历XML_Xml_Xpath - Fatal编程技术网

使用XPath遍历XML

使用XPath遍历XML,xml,xpath,Xml,Xpath,我有以下XML: <Item type="Workflow Process"> <id>72F2AEEE86644D16ADE4B8FCEF68638A</id> <keyed_name>PR-100001</keyed_name> <Relationships> <Item type="Workflow Process Activity"> <

我有以下XML:

<Item type="Workflow Process">
    <id>72F2AEEE86644D16ADE4B8FCEF68638A</id>
    <keyed_name>PR-100001</keyed_name>
    <Relationships>
        <Item type="Workflow Process Activity">
            <id>818175D7A6204275B9EAC45517FFC0DE</id>
            <related_id>
                <Item type="Activity">
                    <id>E0B712EB12914FBD8B5AEDCBDB3F313F</id>
                    <keyed_name>Start</keyed_name>
                </Item>
            </related_id>
        </Item>
    </Relationships>
</Item>

72F2AEEE86644D16ADE4B8FCEF68638A
PR-100001
818175D7A6204275B9EAC45517FFC0DE
E0B712EB12914FBD8B5AEDB3B313F
开始
注意:上述XML结构在我的XML文件中以不同的值
重复

我有
,我想知道该
活动所属的父节点


什么是XPath来实现它?

如果您已经有了对内部
活动的引用,并且可以将其作为上下文节点来计算XPath,那么

ancestor::Item[@type = 'Workflow Process']/id
如果您只拥有id,并且从树的顶部开始,那么只要文档中的所有id都是全局唯一的,我能想到的最简单的方法就是

//Item[@type = 'Workflow Process'][.//id = 'id you want']/id

在不了解上下文的情况下,我无法说得更具体——这是在XSLT中,还是您正在使用某种DOM库(哪一种?)。

很高兴它有所帮助,欢迎使用。如果答案对你有用,请考虑点击左边的绿色刻痕。建立一个接受好答案的记录意味着人们更愿意回答你未来的问题。我们能看看你到目前为止都做了些什么吗?在Google/StackOverflow上进行一点搜索可以提供详细信息,或者查看www.w3schools.com/xpath/xpath\u syntax.asp