سؤال

<top>
    <item link="http://www.google.be"><![CDATA[test]]></item>
    <item link="http://www.google.be"><![CDATA[test]]></item>
    <item bold="true" link="http://www.google.be"><![CDATA[test]]></item>
</top>

وأنا بحاجة للحصول على كل الصفات (سواء الأساسية والقيمة)

for each ( var item : XML in data.item )
{
     trace(item.attributes().name());
}

ويعطي هذا الخطأ

 TypeError: Error #1086: The name method only works on lists containing one item.

وعلى هذا البند 3TH

هل كانت مفيدة؟

المحلول

والسبب انها تفجير في البند الثالث هو أن لديها سمات اثنين. كنت تستخدم الاختصار الذي يحصل على الاسم فقط إذا كان هناك سمة واحدة فقط. كنت بحاجة إلى تغيير التعليمات البرمجية لما يلي:

for each (var item : XML in data.items)
{
    for each (var attr : XML in item.attributes())
    {
        trace(attr.name());
    }
}

وتحرير: بين قوسين بعد اسم في عداد المفقودين

نصائح أخرى

استخدم attr.valueOf () للحصول على قيمة تلك السمة

for each (var item : XML in data.items)
{
    for each (var attr : XML in item.attributes())
    {
        trace(attr.name()+":"+ attr.valueOf());
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top