小编ame*_*kki的帖子

使用哪种设计模式来改进此Java程序

我编写了一个程序来解析XML文件,以获取一个名为SerialNum的特定标记值,该值包含在Header标记中.该文件构造如下:

  • 它包含1个标题和1个正文
  • Header可能包含许多SerialNum标记.我们需要提取最后一个标签的值.

我使用Stax解析器来获取SerialNum值,我编写了这段代码:

public String findIdValue(HttpServletRequest request) {

    String serialNumberValue = null;

    if(request != null){
        ServletInputStream servletInstream;
        try {
            servletInstream = request.getInputStream();
            XMLInputFactory factory = XMLInputFactory.newInstance();
            XMLStreamReader xmlStreamReader = factory.createXMLStreamReader(servletInstream);
            //begin parsing if we get <Header>
            //end parsing if we get <Header/> or </Header>

            int event = xmlStreamReader.getEventType();
            boolean enableToParse = false;
            boolean gotSerialNumber = false;
            boolean parseComplete = false;

            while( (xmlStreamReader.hasNext()) && (!parseComplete) ){
                switch(event) {
                case XMLStreamConstants.START_ELEMENT:
                    if("Header".equals(xmlStreamReader.getLocalName())){
                        //tag is header, so begin parse
                        enableToParse = true; …
Run Code Online (Sandbox Code Playgroud)

java design-patterns

5
推荐指数
1
解决办法
114
查看次数

标签 统计

design-patterns ×1

java ×1