0

次の 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>

注:上記の XML 構造は、異なる値の<id>とを使用して XML ファイルで繰り返されます。<keyed_name>

を持っています。それが属する親ノード<id><Item type="Activity">を知りたいです。<id><Item type="Workflow Process">Activity

それを達成するためのXPathはどうなるでしょうか?

4

1 に答える 1

1

内部への参照がすでにあり、ActivityそれをコンテキストノードとしてXPathを評価できる場合は、

ancestor::Item[@type = 'Workflow Process']/id

IDを持っていて、ツリーの先頭から始めている場合、すべてのIDがドキュメント内でグローバルに一意である限り、私が考えることができる最も単純なものは次のとおりです。

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

コンテキストを知らずにこれ以上具体的にすることはできません-これはXSLTにあるのですか、それともある種のDOMライブラリを使用していますか(どれですか?)。

于 2012-10-05T07:48:39.180 に答える