كيف يمكنني تقسيم قيمة السمة داخل LinQ (-To-XML)؟
-
23-08-2019 - |
سؤال
لقد كنت أشعر بالبدء في القيام ببعض الأشياء الممتعة مع الإشارات المرجعية اللذيذة و LinQ إلى XML، وكنت أتساءل عما إذا كانت هناك طريقة لتقسيم سمة العلامة داخل لينك.
ما قصدته مع تقسيم العلامة داخل لينك تم توليد مجموعة من السلاسل لكل عنصر آخر، لذلك النتيجة المتوقعة ستكون مجموعة عامة من post
العناصر، مع سماتها كخصائص، حيث tag
الخاصية هي في حد ذاتها مجموعة أخرى من السلاسل، مع البنود الخاصة بها كل علامة.
بالنسبة لأولئك الذين ليسوا مطلعين على XML المصدرة ل Delicious.com، إليك الهيكل الأساسي للعنصر:
<post
href="http://stackoverflow.com/"
hash="e4a42d992025b928a586b8bdc36ad38d"
description="Stack Overflow"
tag="code development programming community tips answers reference"
time="2009-05-22T19:44:09Z"
extended="Stack Overflow is a programming Q & A site that's free."
meta="e0bf85c9df073cd51cc5528637db5277"
/>
إليك مقتطف الكود الذي أستخدمه:
XDocument delicious = XDocument.Load("all.xml");
var bookmarks = from posts in delicious.Descendants().Attributes("tag")
select (string)posts;
أي أفكار، اقتراحات، سيتم تقدير التعليقات حقا.
المحلول
ما هو الإخراج المطلوب بالفعل؟ هل تريد مجموعة من كل قيمة في حقل "العلامة"؟
var bookmarks = from posts in delicious.Descendants().Attributes("tag")
select ((string)posts).Split(" ");
من شأنه أن يمنحك قائمة من المصفوفات. من الصعب قول كيفية إنجاز ما تريده، لأنه غير محدد بشكل جيد للغاية.
نصائح أخرى
فئة السلسلة لديها طريقة تقسيم.
هل هذا ما كنت تبحث عنه؟
تحرير: String.join (البيئة .NEWLINE، Bookmarks.toarray ())؛
ما فعلته هو استخدام "مجموعة" وتعيين القيمة إلى هذا المتغير، ثم استخدمها لمتابعة التلاعب، لذلك في النهاية كنت قادرا على استخدامه في استعلام LinQ الخاص بي، كما كان في شكل كان الآن مفيدة لي. :)