finalDocument
문서를 받고 과 동일한 DocType
을 입력하고 싶습니다.왜 변환 후 DocType이 null입니까?
finalDocument = icBuilder.parse(new InputSource(new ByteArrayInputStream(xmlString.getBytes("UTF-8"))));
Transformer transformer = TransformerFactory.newInstance().newTransformer();
DocumentType doctype = xmlDocument.getDoctype();
StringWriter writer = new StringWriter();
transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, doctype.getSystemId());
transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, doctype.getPublicId());
transformer.transform(new DOMSource(finalDocument), new StreamResult(writer));
그러나 finalDocument
의 DocType
가 설정되지 않은 몇 가지 이유 : 이것은 내가 그것을 할 방법이다. 나는 예외 또는 아무것도 얻지 않는다 - 다만 null
이다.
내가 뭘 잘못하고 있는지 알기!
Btw : doctype.getSystemId()
및 doctype.getPublicId()
은 유효하지 않습니다.
글쎄, 시작하려면 DocType이 있습니까? 표시 한 코드에서 결코 업데이트되지 않습니다. –
@ forty-two 'finalDocument'를 의미합니까? 그것이 있으면 중요합니까? – displayname
w3c 태그는 어떻게 관련이 있습니까? 이것은 정확히 표준 자체에 대한 질문이 아니라 프로그래밍 문제입니다. – tambre