2013-08-29 2 views
0

Я использовал XMLParser GWT для синтаксического анализа XML, но проблема возникает, когда я пытаюсь проанализировать атрибуты. В документах API я вижу, что Element имеет методы для получения узлов или значений атрибутов, если вы знаете, какие имена атрибутов будут заранее, например. вы можете сделатьXML-анализ в GWT

element.getAttribute("name"); 

Но нет способа получить все атрибуты.

Так что я попытался так:

import com.google.gwt.xml.client.Element; 
import com.google.gwt.xml.client.Node; 
import com.google.gwt.xml.client.Attr; 
... 
NodeList nodes = element.getChildNodes(); 
for (int i=0; i<nodes.getLength(); i++) { 
    Node node = nodes.item(i); 
    if (node instanceof Element) { 
     //do something with child element 
    } 
    if (node instanceof Text) { 
     //do something with text 
    } 
    if (node instanceof Attr) { 
     //this is never reached! 
    } 
} 

Ответ XML, который он не может найти каких-либо атрибутов выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?> 
<grid> 
    <field primary="true" id="volunteerId" caption="ID" width="30" type="integer"/> 
    <field id="name" caption="Name" filter="true" type="concat"> 
    <field id="forename"/> 
    <field id="surname" /> 
    </field> 
    <field id="role" caption="Role" filter="true" type="text"/> 
    <field id="instructions" caption="Instructions" type="boolean"/> 
    <field id="security" caption="SIA" type="boolean" image="security"/> 
</grid> 

Есть ли способ получить список атрибутов и их значения без жесткого кодирования ожидаемых имен атрибутов?

ответ