2016-05-24 6 views
1

私はXPathを使用して、この要素を選択したいと思います:XPathを使用して単一引用符を含む要素を選択する方法は?

<a href="#" onClick="onViewDocument('2016', '1');">2016</a> 

をこれまでのところ、私はこれを持っている:

//a[@onClick='onViewDocument('2016', '1');'] 

私は20161周りの単一引用符をエスケープする必要がありますか?

+0

ほとんどの言語のためのソリューションがあります。 ..e XSLT http://stackoverflow.com/questions/8783086/concat-quotation-mark-and-apostrophe-combination-problems、C#http://stackoverflow.com/questions/642125/encoding-xpath-expressions-with-both-一重引用符と二重引用符...残念ながら、HTMLだけではプログラミング言語は定義されていません(私の知る限りどこでもXPathを使用していません)...もっと答えが必要な場合は - https://www.bing.com/search? q = xpath%20quotes%20concat –

+0

@ CJ7:あなたは[ほぼ500の質問]に質の高い回答を得ています(http://stackoverflow.com/users/327528/cj7?タブ=質問と並べ替え=最新)、あなたの受け入れ率は絶対に悪いです。あなたは6年で23回アップしています。 ***何らかの方法で少し戻ってみませんか?*** – kjhughes

答えて

2

通常、文字列リテラルを囲むために既に使用されていたものに応じて、'または"の代替語を使用するのが最も簡単です。

それが実行できないなら、選択肢は'単一引用符)のため&apos;を使用することです:あなたは"二重引用符)のため&quot;を使用することができます

//a[@onClick='onViewDocument(&apos;2016&apos;, &apos;1&apos;);'] 

注意。

リファレンスXML Path Language (XPath) Version 1.0

XPath式は、多くの場合、XML属性で発生します。このセクションの で指定された文法は、XML 1.0 の正規化後の属性値に適用されます。例えば、文法が文字<を使用する場合、 はXMLソースに<として表示されてはいけませんが、&lt;と入力するなどしてXML 1.0の規則に従って引用符で囲む必要があります。 式内では、リテラル文字列は、単一またはダブルの 引用符で区切られています。これは、XML属性の区切りにも使用されます。 属性値を終了するXML プロセッサによって解釈される式の引用符を避けるには、引用符を (&quot;または&apos;)と入力することができます。代わりに XML属性が二重引用符で区切られた の場合は、式で一重引用符を使用できます。

0

これはonclick'を含むすべての要素のためです:

//a[contains(@onclick, "'")] 

これは、あなたが一致しようとしている特定の要素のためです:

//a[@onClick="onViewDocument('2016', '1')"] 
関連する問題