2011-11-29 5 views
0

를 사용하여 내부 요소의 값을 추출하는 방법 : 내가 RULE_NAME의 값을 추출 할 수 있어요하도록 (C++에서) SAXParser를 사용하여이 파일을 구문 분석 할 수있는 방법나는 아래와 같이 xml 파일이 SAXParser를

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<RULES> 
    <RULE DESCRIPTION="" DOMAIN="CAE" NAME="Filter1 " TYPE="FILTER"> 
     <ATTRS> 
      <ATTR RULE_NAME="myFilter1" /> 
     </ATTRS> 
    </RULE> 

    <RULE DESCRIPTION="" DOMAIN="CAE" NAME="Skip1" TYPE="SKIP"> 
     <ATTRS> 
      <ATTR RULE_NAME="mySkip1" /> 
     </ATTRS> 
    </RULE> 

    <RULE DESCRIPTION="" DOMAIN="CAE" NAME="Filter_new " TYPE="FILTER"> 
     <ATTRS> 
      <ATTR RULE_NAME="myFilter1" /> 
     </ATTRS> 
    </RULE> 

    <RULE DESCRIPTION="" DOMAIN="CAE" NAME="Skip_new" TYPE="SKIP"> 
     <ATTRS> 
      <ATTR RULE_NAME="mySkip1" /> 
     </ATTRS> 
    </RULE> 
</RULES> 

을 TYPE 속성의 값이 "FILTER"인 경우에만 속성입니다.

DOMParser를 사용하여이 작업을 수행 할 수 있지만 SAXParser를 사용하고 싶습니다.

답변

1
@Override 
public void startElement(String uri, String localName, String qName, 
     Attributes attributes) throws SAXException { 
    if (localName.equals("city")) { 
     String city = attributes.getValue("data"); 
     info.setCity(city); 
    } else if (localName.equals("temp_c")) { 
     String t = attributes.getValue("data"); 
     int temp = Integer.parseInt(t); 
     info.setTemp(temp); 
    } else if (localName.equals("condition")) { 
     String condition = attributes.getValue("data"); 
     info.setCondition(condition); 
    } 
} 

당신은 자식 속성 인 "데이터"를하는 것처럼 속성을 조합 할 수 있습니다. 이 작품 희망

관련 문제