1

私はこのようなXMLを持っています:

<root>
 <parent1>
   <parent2>
     <child label="single'quote"/>
     <child label="double&quot;quote"/>
   </parent2>
   <parent3/>
   <parent4>
     <child label = "single'quote"/>
   </parent4>
 </parent1>
</root>

私の目的は、特定のラベルを持つ子ノードを選択することです

XPath式を使用できます。

         //child[@label='single'quote']

値に特殊文字'が含まれているため、明らかにエラーがスローされます。

私はロジックを使用するための解決策を思いついた:

ラベルの値を使用して親ノードにダミーの属性を設定し、2つの属性を比較します。[ parent1ノードにdummy="single'quote"を追加しました。]

したがって、次を使用して、「単一の引用符」というラベルの付いた子ノードを読み取ることができます。

 //child[@label=//parent1/@dummy]

IEとFirefox9では完全に正常に動作しますが、Chrome21では失敗します。

ロジックに欠陥はありますか?Chromeの式を修正するにはどうすればよいですか?

どうもありがとう。

4

1 に答える 1

1

使用:

/*/parent1/parent2/*[@label="single'quote"]

以下は、XPath ビジュアライザーで実行された評価のスクリーンショットです。

ここに画像の説明を入力

2 番目の質問では、次のように使用します

/*/parent1/parent2/*[@label='double"quote']

XPath ビジュアライザーのスクリーンショットを次に示します。

ここに画像の説明を入力

于 2012-08-14T13:04:18.340 に答える