XML에서 문자열로 org.w3c.dom.Document를로드하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/33262

  •  09-06-2019
  •  | 
  •  

문제

문자열에 완전한 XML 문서가 있고 Document 객체를 원합니다.Google은 모든 종류의 쓰레기를 찾아냅니다.가장 간단한 해결책은 무엇입니까?(Java 1.5에서)

솔루션 Matt McMinn 덕분에 저는이 구현을 결정했습니다.적절한 수준의 입력 유연성과 예외 세분성을 제공합니다.(오류가 잘못된 XML (SAXException) 또는 잘못된 IO (IOException)에서 발생한 것인지 아는 것이 좋습니다. 라코 디스

도움이 되었습니까?

해결책

이것은 Java 1.5에서 저에게 효과적입니다. 가독성을 위해 특정 예외를 제거했습니다. 라코 디스

다른 팁

우와!

이 코드는 String (기본적으로 UTF-8)에 지정된 문자 인코딩을 무시하기 때문에 잠재적으로 심각한 문제가 있습니다.String.getBytes()를 호출하면 플랫폼 기본 인코딩이 유니 코드 문자를 바이트로 인코딩하는 데 사용됩니다.따라서 파서는 실제로 EBCDIC 등을 받고있을 때 UTF-8 데이터를 받고 있다고 생각할 수 있습니다. 예쁘지 않습니다!

대신 다음과 같이 Reader로 구성 할 수있는 InputSource를 사용하는 parse 메서드를 사용합니다. 라코 디스

큰 문제로 보이지는 않지만 문자 인코딩 문제를 모르면 y2k와 유사한 교활한 코드 부패가 발생합니다.

문서가 아닌 NodeList가 필요하다는 점을 제외하면 비슷한 문제가 발생했습니다. 여기에 제가 생각 해낸 것이 있습니다.루트 요소를 NodeList로 가져오고 문자 인코딩 문제 대신 InputSource를 사용하라는 erickson의 제안을 사용하여 이전과 거의 동일한 솔루션입니다. 라코 디스

Java에서 XML을 조작하기 위해 항상 Transformer API를 사용하는 경향이 있습니다. 라코 디스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top