كيفية تحديد عقدة XML باستخدام العنصر القرب
-
16-09-2019 - |
سؤال
باستخدام XPath وحزمة أوتيل أتش تي أم أل أحتاج لتحديد destination
النص باستخدام color:#ff00ff
.
بلدي HTML يشبه هذا:
<table>
<tr style="color:#ff00ff">
<td></td>
</tr>
<tr>
<td>destination</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>not destination</td>
</tr>
</table>
المحلول
/ TABLE / TR [@ style = "اللون: # FF00FF"] / التتبع الأخوة :: TR [1] / TD [1] / النص ()
يختار <tr>
التي لديها style="color:#ff00ff"
, ، والذهاب من هناك، نص الأول <td>
طفل التالي <tr>
.
للحصول على سلامة إضافية، يمكنك استخدام:
TR [ترجمة (style، "،"، ") =" اللون: # FF00FF "
هذا يزيل أي مسافات من قيمة السمة، لذلك تصبح الأمور أكثر استقلالية قليلا عن مصدر HTML.
نصائح أخرى
باستخدام JQuery قد تبدو مثل هذا:
$('tr[style*="color:#ff00ff"]').next('tr').children().text();
هذا يعتمد اعتمادا كبيرا على هيكل المستند بالضبط وتعريف النمط. ستجد أي tr يحتوي على نمط يحتوي على السلسلة "اللون: # FF00FF" (بالضبط، لا توجد مسافات، إلخ). من هذا الصف، سيتم بعد ذلك تحديد صف الأخ التالي واحصل على محتويات النص من كل الأطفال المباشرين. في حالتك، سيكون هذا عنصر العمود الوحيد.
لا تنتمي إلى StackOverflow