[英]Convert input String to File Object
我想将输入字符串转换成XML到JAVA对象。 我同样使用JAXB。 但是我的问题是从调用应用程序开始,我将以字符串形式接收XML。 但是jaxbUnmarshaller.unmarshal(inputXML);
在输入中需要FILE对象。 因此,有什么方法可以将输入的String转换为FILE对象,而无需手动将传入的内容写入磁盘。
以下是我的方法片段
public void xmlToObject(String inputXML){
try{
JAXBContext jaxbContext = JAXBContext.newInstance(LineItemsBeanList.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
LineItemsBeanList objreq= (LineItemsBeanList) jaxbUnmarshaller.unmarshal(inputXML);
printLineItems(objreq.getLineItemsBean());
nba.processLineItems(objreq.getLineItemsBean());
nba.printFinalSetOfRules();
}
catch(Exception e){
System.out.println(e);
}
}
您无需制作File对象即可解决此问题。
取自JAXB Unmarshaller的文档 :
使用javax.xml.transform.stream.StreamSource从StringBuffer解组:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
Unmarshaller u = jc.createUnmarshaller();
StringBuffer xmlStr = new StringBuffer( "<?xml version="1.0"?>..." );
Object o = u.unmarshal( new StreamSource( new StringReader( xmlStr.toString() ) ) );
在您的情况下,可以使用类似的方法从字符串中解组:
LineItemsBeanList objreq = (LineItemsBeanList) jaxbUnmarshaller.unmarshal(
new StreamSource(new StringReader(inputXML)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.