启用S​​AXParser qName来处理空格

时间:2012-05-01 10:05:37

标签: java sax saxparser

我的XML解析器有点麻烦,实际上我有这样的XML结构:

<c r="K6" s="35">
  <v>135</v> 
</c>

&安培;我需要提取值 v XXX / v ,具体取决于 c r =“K6”s =“35”是否属于特定范围。这很简单,使用reg ex等...但我的问题是当我在startElement()中下拉qName时,而不是返回值c r="K6" s="35",它只返回:c。我99%肯定这是因为qName在第一个空格中断。我怎样才能让qName返回&lt;&gt;中的所有内容括号?

干杯

1 个答案:

答案 0 :(得分:0)

XML标记不能包含空格。您在XML元素中拥有的是

  • 名为c
  • 的标记
  • ...具有名为r属性,其值为K6
  • ...以及另一个名为s的属性,其值为35

SAXParser已经在属性列表中将所有属性的值返回给您,并将qName设置为"c"的元素。

public void startElement(String uri, String localName, String qName, Attributes attributes) {
    if ("c".equals(qName)) {
        System.out.println(attributes.getValue("r"));
    }
}