저는 서버에서 원시 파일을 가져 와서 XML 파일로 변환해야하는 프로젝트에서 작업하고 있습니다.원시 파일 (바이너리 데이터)을 XML 파일로 변환
Java에서 사용할 수있는 도구가 있습니까? 과 같은이 작업을 수행하는 데 도움이 될 수 있습니까? JAXP을 사용하여 XML 문서를 구문 분석 할 수 있습니까?
저는 서버에서 원시 파일을 가져 와서 XML 파일로 변환해야하는 프로젝트에서 작업하고 있습니다.원시 파일 (바이너리 데이터)을 XML 파일로 변환
Java에서 사용할 수있는 도구가 있습니까? 과 같은이 작업을 수행하는 데 도움이 될 수 있습니까? JAXP을 사용하여 XML 문서를 구문 분석 할 수 있습니까?
나는 당신이 당신이 값이 형성로드 일부 콩 될 것입니다 나중에 사용하기 위해 객체를 필요로하므로 MyObject
을 만들 것 같아요 당신의 원시 파일 당신은
FileOutputStream os = new FileOutputStream("someFile.xml");
XMLEncoder encoder = new XMLEncoder(os);
MyObject p = new MyObject();
p.setFirstName("Mite");
encoder.writeObject(p);
encoder.close();
someFile.xml
이 쓸 수 또는 당신이 후자의 사용을위한 객체가 필요하지 않은 경우 당신은TransformerFactory
갈 콘. 로,
Element root = dom.createElement("root");
dom.appendChild(root);
그러나 필요에 따라
Document dom = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.newDocument();
는 그런 다음 요소를 생성하는 문서를 사용하고, 그것들을 추가 할 수 있습니다 :
예. 이것은 원시 파일의 텍스트가 이미 XML이라고 가정합니다.
당신은 DocumentBuilder
를 얻기 위해 DocumentBuilderFactory
로 시작, 다음은 내부 XML 표현을하는 Document
로 입력 스트림을 설정하기 위해 parse()
방법을 사용할 수 있습니다.
원시 파일에 XML 이외의 내용이 포함되어있는 경우 XML 형식이 아닌 다른 파일 (여기에 자신의 코드)을 스캔하고 발견 한 내용을 사용하여 빈 Document
에서 빌드하는 것이 좋습니다.
나는 일반적으로 TransformerFactory
의 Transformer
을 사용하여 Document
을 파일의 XML 텍스트로 변환하지만 더 간단한 방법이있을 수 있습니다.
이 괜찮을 것을 XmlDocument에로드하려고하면 내 생각
JAXP는 비어있는 새 문서를 만들 수 있습니다 Jørn 귀하의 질문에 의견에 언급,이 모든 "원시"파일로 무엇을하고 싶은가에 따라 달라집니다 : XML로 어떻게해야 하는가. 그리고 당신 만이 그것을 알고 있습니다.
정말 "원시 파일"이 응용 프로그램에 있는지 여부에 달려 있습니다. –