كيفية تطابق قائمة البند باستخدام XQuery <intValues>1 2 3</intValues>
سؤال
أنا أحاول أن المباراة ضد معرفات تخزين قائمة العنصر باستخدام XQuery.
على سبيل المثال ،
<data>
<item>
<name>foo</name>
<intValues>1 2 3 4 5</intValues>
</item>
<item>
<name>bar</name>
<intValues>6 7 8 9 10</intValues>
</item>
</data>
هل من الممكن أن يعود البنود التي تشمل 3 في intValues
?
المحلول
هل من الممكن أن يعود العناصر التي تشمل 3 في intValues?
هذا تعبير XPath يختار بالضبط كل item
العناصر التي تحتوي على '3' باعتبارها واحدة من قائمة من القيم الواردة في intValues
الطفل:
/*/item['3' = tokenize(intValues, ' ')]
نصائح أخرى
إذا ملف xml لديه مخطط وكنت تستخدم معالج مخطط علم ثم الاستعلام هو مجرد
/data/item[intValues = 3]
وعلى خلاف ذلك، كما يقترح Dimitre سيكون لديك لtokenize بذلك يدويا.
لا تنتمي إلى StackOverflow