0

私は次のxmlを持っています:

<log>
    <logentry revision="11956">
        <author>avijendran</author>
        <date>2013-05-20T10:25:19.678089Z</date>
        <msg>
            JIRA-1263 - did something
        </msg>
    </logentry>

    <logentry revision="11956">
        <author>avijendran</author>
        <date>2013-05-20T10:25:19.678089Z</date>
        <msg>
            JIRA-1263 - did something 22 again
        </msg>
    </logentry>
</log>

最初の JIRA-1263 以降の発生は無視したいと思います。

私が試しているxpathは(重複ノードが続いている場合に機能します。しかし、他の場所(深いところ)に重複がある場合、それは無視されます:

<xsl:variable name="uniqueList" select="//msg[not(normalize-space(substring-before(., '&#10;')) = normalize-space(substring-before(following::msg, '&#10;')))]" />
4

3 に答える 3

2

それぞれを取得したい場合はmsg//msg[starts-with(normalize-space(.), 'JIRA-1263')]出力JIRA-1263 - did somethingJIRA-1263 - did something 22 again.

//*[starts-with(normalize-space(.), 'JIRA-1263')]そして、前のものと同じ結果を与える同じコードを使用する要素を取得したい場合。

msg最後に、同じ条件で最初に取得したい場合は、//logentry/msg[starts-with(normalize-space(.), 'JIRA-1263')][not(preceding::msg)]出力を取得するために使用しますJIRA-1263 - did something

于 2013-05-22T12:47:45.820 に答える