Я использовал 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>
Есть ли способ получить список атрибутов и их значения без жесткого кодирования ожидаемых имен атрибутов?