سؤال

لقد كنت أشعر بالبدء في القيام ببعض الأشياء الممتعة مع الإشارات المرجعية اللذيذة و 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 الخاص بي، كما كان في شكل كان الآن مفيدة لي. :)

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