eclipse에서 발표한 웹 프로젝트 WEB-INFO의 경로를 얻기(가장 순박한 방법)
public class TransformService {
private Logger log = Logger.getLogger(TransformService.class);
private final String TEMPLET = "templet";
/**
*
*
* @param xmlReq
* @param xslTempletName
* @return
*/
public String xmlTransform(String xmlReq, String xslTempletName) {
// TODO Auto-generated method stub
try {
log.info("Para xml:" + xmlReq);
log.info("Para xslTempletName:" + xslTempletName);
Resource res = new ClassPathResource(TEMPLET + "/" + xslTempletName
+ ".xsl");
log.info("Templet URL:" + res.getFile() == null ? null : res
.getFile().toString());
Source templet = new StreamSource(res.getFile());
Transformer transf = TransformerFactory.newInstance()
.newTransformer(templet);
Document req = DocumentHelper.parseText(xmlReq);
Source xmlSource = new StreamSource(new StringReader(req.asXML()));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Result result = new StreamResult(baos);
transf.setOutputProperty(OutputKeys.METHOD, "xml");
transf.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transf.setOutputProperty(OutputKeys.INDENT, "yes");
transf.transform(xmlSource, result);
ByteArrayInputStream bais = new ByteArrayInputStream(
baos.toByteArray());
String path = res.getFile().toString();
String rPath = path.substring(0, path.lastIndexOf("classes"));
File folder = new File(rPath + "xmlFolder");
log.info("XML_FOLD_DIR:" + folder == null ? null : folder
.toString());
if (!folder.exists()) {
folder.mkdir();
}
File file = new File(folder + File.separator + xslTempletName + "_"
+ new Date().getTime() + ".xml");
log.info("XML_FILE_URL:" + file == null ? null : file.toString());
FileOutputStream fis = new FileOutputStream(file);
fis.write(baos.toByteArray());
fis.close();
SAXReader sax = new SAXReader();
Document resXML = sax.read(bais);
log.info(resXML.asXML());
System.out.println(resXML.asXML());
return resXML.asXML();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
log.error(e.getMessage());
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
log.error(e.getMessage());
} catch (TransformerFactoryConfigurationError e) {
// TODO Auto-generated catch block
e.printStackTrace();
log.error(e.getMessage());
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
log.error(e.getMessage());
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
log.error(e.getMessage());
}
return null;
}
public static void main(String[] args) {
try {
TransformService ts = new TransformService();
Resource res = new ClassPathResource("templet/DY.xml");
SAXReader sax = new SAXReader();
Document resXML = sax.read(res.getFile());
ts.xmlTransform(resXML.asXML(), "DY2HS");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.