通过java解析xml文件

时间:2013-07-11 22:10:47

标签: java xml

我在java中使用SAXParse来解析xml文件。我已成功地使用其中一个文件执行此操作,但我移动到第二个文件并尝试读取一直保持为null的属性。我已经想到了每一个可能的原因,但我无法弄明白。

以下是xml文件的示例:

<?xml version="1.0" encoding="UTF-8"?>
<ProcessorStatusCode/>
<StatusCode>E</StatusCode>
   <ErrorNo>1852</ErrorNo>...

这是我的java代码:

public class ReadXML
{
    public static void main(String[] args) throws IOException,SAXException,                      ParserConfigurationeException
    {
        String OrderNum;
        SAXParserFactory parser = SAXParserFactory.newInstance();
        SAXParser Sparser = parser.newSAXParser();
        ReadXML handler = new ReadXML();
        Sparser.parse("ErrorDescription.xml",handler);
     }

    public void characters(char[] buffer,int start,int length)
    {
        temp = new String(buffer, start, length);
    }

    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
    {
        temp = " ";
        if(qName.equalsIgnoreCase("ErrorNo"))
        {
            //transaction = new Transaction();
            OrderNum = attributes.getValue(ErrorNo);
        }        
    }

    public void endElement(String uri, String localName, String qName) throws SAXException
    {
        if(qName.equalsIgnoreCase("ErrorNo"))
        {
            System.out.println(OrderNum);
        }

    }
}//end of class

1 个答案:

答案 0 :(得分:0)

String OrderNummain()方法中被声明为局部变量,它应该是一个类成员变量,而不是ReadXML.startElement()中可访问的。