كيفية تطابق قائمة البند باستخدام XQuery <intValues>1 2 3</intValues>

StackOverflow https://stackoverflow.com/questions/676012

  •  21-08-2019
  •  | 
  •  

سؤال

أنا أحاول أن المباراة ضد معرفات تخزين قائمة العنصر باستخدام 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 بذلك يدويا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top