0

2つのリンクがあり、同様のリンクテキストがあるhtmlページがあります。

' OfficeofRecords 'および' BrooklynOffice of Records '

このxpathを使用すると、2番目のリンクが見つかります: "// a [starts-with(。、'Brooklyn')]"-これまでのところ良好です。

ただし、同じxpathを使用して、最初のリンク('Office'という単語で始まる)を探す場合、それは機能しません: "// a [starts-with(。、'Office')]"-'Unable要素を見つけるために'

正規表現('^ Office')を使用してみましたが、機能しませんでした。「starts-with」の代わりに「contains」を試しましたが、一方の文字列がもう一方の文字列のサブ文字列であるため、これも機能しませんでした。

どんな提案も歓迎します!

編集

仕様を読みましたが、動作すると想定したとおりです。string1がstring2で始まる場合、trueを返します。starts-with(string1、string2)

オンラインテスターでこれをテストするために、いくつかのxmlをモックアップしました。

<?xml version="1.0"?>
    <note>
        <record>
          <a>Office</a>
          <a>Brooklyn Office</a>
        </record>
    </note>

'starts-with'または'contains'を介して最初のノード('Office')を指す方法が見つかりませんでした

4

2 に答える 2

0

//a[text()='Office of Records']//a[text()='Brooklyn Office of Records']

物事を過度に複雑にしないでください;)

于 2013-02-21T15:12:46.267 に答える
0

問題が解決しました!したがって、これは機能しませんでした: //a[starts-with(.,'Office')]

/*/record/a[starts-with(.,'Office')]

于 2013-02-20T20:49:48.193 に答える