반응형
java.net.기형식URLException: 프로토콜 없음
다음과 같은 Java 예외를 받고 있다.
java.net.MalformedURLException: no protocol
내 프로그램에서 다음을 사용하여 XML 문자열을 구문 분석하려고 함:
Document dom;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
dom = db.parse(xml);
XML 문자열:
String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
" <s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"+
" <s:Header>"+
" <ActivityId CorrelationId=\"15424263-3c01-4709-bec3-740d1ab15a38\" xmlns=\"http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics\">50d69ff9-8cf3-4c20-afe5-63a9047348ad</ActivityId>"+
" <clalLog_CorrelationId xmlns=\"http://clalbit.co.il/clallog\">eb791540-ad6d-48a3-914d-d74f57d88179</clalLog_CorrelationId>"+
" </s:Header>"+
" <s:Body>"+
" <ValidatePwdAndIPResponse xmlns=\"http://tempuri.org/\">"+
" <ValidatePwdAndIPResult xmlns:a=\"http://schemas.datacontract.org/2004/07/ClalBit.ClalnetMediator.Contracts\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">"+
" <a:ErrorMessage>Valid User</a:ErrorMessage>"+
" <a:FullErrorMessage i:nil=\"true\" />"+
" <a:IsSuccess>true</a:IsSuccess>"+
" <a:SecurityToken>999993_310661843</a:SecurityToken>"+
" </ValidatePwdAndIPResult>"+
" </ValidatePwdAndIPResponse>"+
" </s:Body>\n"+
" </s:Envelope>\n";
무엇이 이 오류를 발생시키는지에 대한 제안이 있는가?
설명서가 도움이 될 수 있다: http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/parsers/DocumentBuilder.html
방법DocumentBuilder.parse(String)
URI를 가져다가 열려고 한다.그 내용을 직접 주려면 그 내용을 줘야 한다.InputStream
또는Reader
, 예를 들어 aStringReader
자바 표준 수준의 침입에 오신 것을 환영한다!
기본적으로 :
DocumentBuilder db = ...;
String xml = ...;
db.parse(new InputSource(new StringReader(xml)));
파일에서 XML을 읽는 경우File
에 반대하다DocumentBuilder.parse()
.
참고로 이것은 자바에서 많이 마주치게 될 패턴이다.일반적으로 대부분의 API는 문자열보다 스트림에서 더 많이 작동한다.스트림을 사용하는 것은 잠재적으로 모든 콘텐츠가 동시에 메모리에 로드되어야 하는 것은 아니라는 것을 의미하는데, 이것은 좋은 생각이 될 수 있다!
대신 시도하십시오.db.parse(xml)
:
Document doc = db.parse(new InputSource(new StringReader(**xml**)));
참조URL: https://stackoverflow.com/questions/1706493/java-net-malformedurlexception-no-protocol
반응형
'IT이야기' 카테고리의 다른 글
Java에서 마지막 N 요소를 포함하는 크기 제한 대기열 (0) | 2022.05.19 |
---|---|
Vue 플러그인 내에 Vuex 스토어를 캡슐화할 수 있는 방법(설치 기능)이 있는가? (0) | 2022.05.19 |
Java 8 람다 함수는 예외를 발생시키는가? (0) | 2022.05.19 |
색상 이름, 각도 등을 구성하는 동적 변수로 구성된 선형 그라데이션 배경 속성을 어떻게 바인딩할 수 있는가? (0) | 2022.05.19 |
Vue.js 단일 파일 구성 요소의 데이터 가져오기 (0) | 2022.05.19 |