2010-01-06 2 views
1

저는 서버에서 원시 파일을 가져 와서 XML 파일로 변환해야하는 프로젝트에서 작업하고 있습니다.원시 파일 (바이너리 데이터)을 XML 파일로 변환

Java에서 사용할 수있는 도구가 있습니까? 과 같은이 작업을 수행하는 데 도움이 될 수 있습니까? JAXP을 사용하여 XML 문서를 구문 분석 할 수 있습니까?

+5

정말 "원시 파일"이 응용 프로그램에 있는지 여부에 달려 있습니다. –

답변

1

나는 당신이 당신이 값이 형성로드 일부 콩 될 것입니다 나중에 사용하기 위해 객체를 필요로하므로 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(); 

는 그런 다음 요소를 생성하는 문서를 사용하고, 그것들을 추가 할 수 있습니다 :

1

예. 이것은 원시 파일의 텍스트가 이미 XML이라고 가정합니다.

당신은 DocumentBuilder를 얻기 위해 DocumentBuilderFactory로 시작, 다음은 내부 XML 표현을하는 Document로 입력 스트림을 설정하기 위해 parse() 방법을 사용할 수 있습니다.

원시 파일에 XML 이외의 내용이 포함되어있는 경우 XML 형식이 아닌 다른 파일 (여기에 자신의 코드)을 스캔하고 발견 한 내용을 사용하여 빈 Document에서 빌드하는 것이 좋습니다.

나는 일반적으로 TransformerFactoryTransformer을 사용하여 Document을 파일의 XML 텍스트로 변환하지만 더 간단한 방법이있을 수 있습니다.

0

이 괜찮을 것을 XmlDocument에로드하려고하면 내 생각

1

JAXP는 비어있는 새 문서를 만들 수 있습니다 Jørn 귀하의 질문에 의견에 언급,이 모든 "원시"파일로 무엇을하고 싶은가에 따라 달라집니다 : XML로 어떻게해야 하는가. 그리고 당신 만이 그것을 알고 있습니다.