이 자바 코드와 유사하다 :
SAXParserFactory.newInstance().newSAXParser().parse("<your_uri>", <instance of XMLHandler provided by Clojure>);
Clojure에서이 HTTP GET 요청을 수행하지 않습니다. 그냥 기본 파서로 SAX 파서를 사용합니다. Sax 파서는 내부적으로 XMLInputSource
의 인스턴스를 만들고이를 XMLEntityManager
까지 모두 전달합니다. 클래스 XMLEntityManager
연결을 열고 당신의 XML을 받고 (이상 HTML 등)에 관련된 모든 작업을 수행 문서 : XmlInputSource
다음, XMLEntityManager
세트까지 HTTP 요청 속성 HTTPInputSource
의 인스턴스
URL location = new URL(expandedSystemId);
URLConnection connect = location.openConnection();
... skip ...
stream = connect.getInputStream();
합니다. 그러나 XMLInputSource
(SAXParser의 경우 우리가 가지고있는 기능)과 유사한 기능은 없습니다.
SAX 파서를 다른 구현으로 변경하는 데 도움이 될 것 같군요.
이것은 버그 리포트처럼 들리므로이 질문을 Clojure의 Google 그룹에 보내야한다고 생각합니다. 또한'clojure.xml'에는 다른 결함이있어 현재로서는이 문제를 우선 순위에 두지 않을 것입니다. 그러므로'clojure.contrib.lazy-xml'이 아마도 더 나은 선택 일 것입니다. (설명하는 특정 문제가 없는지 확실하지 않으므로 답변으로 게시하지 마십시오.) –
좋아, Google 그룹에 게시했습니다. – StackedCrooked