Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

NETCONF Java 툴킷을 사용하여 RPC 응답 구문 분석

NETCONF 서버에 운영 또는 구성 요청을 제출한 후 서버는 RPC 응답으로 응답합니다. 원하는 정보를 추출하기 위해 여러 가지 접근 방식을 사용하여 RPC 응답을 구문 분석할 수 있습니다.

NETCONF Java 툴킷의 컨텍스트 내에서 XML 응답을 구문 분석하는 두 가지 접근 방식이 있습니다.

  • 오브젝트를 org.w3c.dom.Document 가져오고 오브젝트에 대한 표준 Java 클래스 라이브러리에서 사용할 수 있는 원시 구문 분석 메소드를 Document 사용하십시오.

  • XML 객체의 findValue(List list) 클래스에서 사용할 수 있는 net.juniper.netconf.XMLfindNodes(List list) 메서드를 사용합니다.

첫 번째 방법의 경우 reply 개체에서 메서드를 호출하여 getOwnerDocument() 개체를 반환합니다 Document .

그런 다음 결과 Document 오브젝트에서 표준 Java 라이브러리의 메소드를 사용할 수 있습니다. 이 메소드는 표준 Java 라이브러리 메소드의 관점에서 사용할 수 있는 유연성 및 옵션에 유용합니다.

두 번째 방법의 경우 net.juniper.netconf.XML 클래스에는 XML 객체를 구문 분석하는 데 사용할 수 있는 및 findNodes(List list) 메서드가 포함되어 findValue(List list) 있습니다. 해당 예제에 표시된 대로 인터페이스의 기능을 List 사용하거나 개체를 만들려면 Arrays 프로그램 코드에 "import java.util.*;" 문을 포함해야 합니다.

운영 요청에 대한 다음 RPC 응답을 연구합니다 get-interface-information .

findValue()를 사용하여 RPC 회신 구문 분석

findValue() 메서드를 사용하여 계층의 모든 수준에서 지정된 요소의 값을 확인할 수 있습니다. 에 대한 get-interface-informationRPC 응답 예에서, 물리적 인터페이스 ge-0/0/0의 요소 값을 <admin-status> 결정하고자 한다고 가정해 봅시다. RPC 회신의 형식을 알고 있으면 다음 코드를 사용하여 이 정보를 추출할 수 있습니다.

인터페이스 이름은 물결표(~) 문자를 사용하여 특정 요소를 식별합니다. 이 코드를 실행하면 표준 출력에 "up"이 인쇄됩니다.

findNodes()를 사용하여 RPC 회신 구문 분석

findNodes() 메서드를 사용하여 지정된 계층 아래에 있는 모든 노드의 목록을 개체로 org.w3c.dom.Node 가져올 수 있습니다. 다음 코드 조각은 계층 구조의 요소 아래에 <interface-information> 있는 모든 <physical-interface> 노드의 목록을 가져옵니다.

그러나 특정 노드를 추출할 수 있습니다. 다음 코드는 ge-0/0/1 인터페이스만을 위한 계층을 반환합니다.

예: findNodes()를 사용하여 RPC 회신 구문 분석(자세히)

다음 예제에서는 이 방법을 한 단계 더 발전시키고 자식 노드를 구문 분석하여 요소에 대한 콘텐츠만 추출하고 인쇄합니다 <name> . 이 샘플 코드는 RPC 응답을 구문 분석하고 전체 프로그램을 나타내지 않는 프로그램 부분에 중점을 둡니다.