我正在尝试使用 SAX 解析该文档:
<scxml version="1.0" initialstate="start" name="calc">
<datamodel>
<data id="expr" expr="0" />
<data id="res" expr="0" />
</datamodel>
<state id="start">
<transition event="OPER" target="opEntered" />
<transition event="DIGIT" target="operand" />
</state>
<state id="operand">
<transition event="OPER" target="opEntered" />
<transition event="DIGIT" />
</state>
</scxml>
我很好地阅读了所有属性,除了“initialstate”和“name”......我使用 startElement 处理程序获取属性,但 scxml 的属性列表的大小为零。为什么?我怎样才能克服这个问题?
编辑:
public void startElement(String uri, String localName, String qName, Attributes attributes){
System.out.println(attributes.getValue("initialstate"));
System.out.println(attributes.getValue("name"));
}
这在解析第一个标签时不起作用(打印“null”两次)。实际上,
attributes.getLength();
评估为零。
谢谢