2011-01-11 3 views
0

Мой файл XML является:Можно ли анализировать данные из xml, содержащего похожие теги?

<?xml version="1.0" encoding="UTF-8" ?> 
<root> 
<investors> 
    <investor>Active</investor> 
    <investor>Aggressive</investor> 
    <investor>Conservative</investor> 
    <investor>Day Trader</investor> 
    <investor>Very Active</investor> 
    </investors> 
<events> 
    <event>3 Month Expiry</event> 
    <event>LEAPS</event> 
    <event>Monthlies</event> 
    <event>Monthly Expiries</event> 
    <event>Weeklies</event> 
    <event>Weeklies Expiry</event> 
    </events> 
<prices> 
    <price>0.05</price> 
    <price>0.5</price> 
    <price>1</price> 
    <price>1</price> 
    <price>22</price> 
    <price>100.34</price> 
    </prices> 
    </root> 

мой ExtJS код:

 Ext.regModel('Card', { 
     fields: ['investor','event','price']  
    }); 

    var store = new Ext.data.Store({ 
     model: 'Card', 
     proxy: { 
      type: 'ajax', 
      url: 'http:/.../initpicker.php', 
      reader: { 
       type: 'xml', 
       record: 'root' 
      } 
     }, 
     listeners: { 
      single: true, 
      datachanged: function(){ 
       var items = []; 
       store.each(function(r){ 
       stocks.push({text: '<span style="color:Blue;font-weight:bolder;font-size:30px;">'+ r.get('price') +'</span>'}); 
       values.push({text: '<span style="font-weight: bold;font-size:25px;">'+ r.get('investor') +'</span>'}); 
       points.push({text: '<span style="font-weight: bold;font-size:25px;">'+ r.get('event') +'</span>'}); 
       }); 
      } 
     }  
    }); 
    store.read(); 

мой вопрос заключается в том, что если мой XML содержит те же теги, как в пять раз, мы можем по-прежнему разбором данные. , , , .?

я попробовал этот код, но он только проанализирован первый ..........................

если есть любой другой способ, пожалуйста, предложите. , ,

спасибо.

+0

Возможно, вы должны были обновить исходный вопрос. http://stackoverflow.com/questions/4645294/something-wrong-with-my-xml – Hemlock

+0

Нужна помощь по следующей проблеме. Pls помочь http://stackoverflow.com/questions/10971255/read-nested-xml-to-model-with-hasmany-association-sencha-extjs – buddy

ответ

0

можно разбирать XML с помощью ExtJS. Но файл xml должен находиться в том же домене

3

Это действительно зависит от того, как выглядит ваша запись.

Является первым элементом инвестора, который должен быть связан с первым событием и ценовыми элементами и включен в единую запись? Как насчет второй записи - будут ли они содержать Aggressive, LEAPS и 0.5 в качестве значений данных? Если это так, то XML не имеет особого смысла.

Я не верю, что XmlReader Sencha справится с этим так хорошо, что объяснит, почему вы получаете первую запись.

Есть два решения:

  1. Измените XML производятся, чтобы сделать больше смысла в XmlReader
  2. Написать свой собственный класс чтения для анализа и извлечения записей из формата имеющихся данных вам
+1

Я * сильно * предложить решение # 1. – wombleton

0

Для чего вы используете этот XML?

Я предполагаю, что это для сетки. Также ваш код, похоже, не соответствует тегам в вашем XML. Какие данные вы пытаетесь захватить в своем коде? Вы должны получать доступ к данным из тегов в XML при настройке объекта данных.

Я предлагаю вам переосмыслить структуру вашего XML. Ваши теги не описывают данные, содержащиеся в тегах. В каком-то смысле вам, кажется, не хватает точки XML.

Что-то вроде этого должно быть тем, что вам нужно заполнить сеткой.

<investors> 
<investor> 
    <name>Bob</name> 
    <style>Aggressive</style> 
    <price>0.5</price> 
</investor> 
<investor> 
    <name>Francis</name> 
    <price>150.00</price> 
    </investor> 
</investors> 

я настоятельно рекомендую вам проверить эту ссылку: XML Grid Sample from Sencha Webste

Смежные вопросы