【发布时间】:2011-01-04 14:25:09
【问题描述】:
我正在尝试使用 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();
计算为零。
谢谢
【问题讨论】:
-
我想一些代码会很受欢迎。
-
public void startElement(String uri, String localName, String qName, Attributes attributes) { System.out.println(attributes.getValue("initialstate")); System.out.println(attributes.getValue("name"));解析第一个标签时,这不起作用。
-
文档中是否有 XML 命名空间?
-
这是取自 scxml 标准的规范示例,所以...不,没有 xml 命名空间。它们与我的问题相关吗?
标签: java sax xml-parsing