使用JAXb将XML打印到Eclipse控制台的Java
在使用JAXb解析XML文件后,如何将其打印到控制台。XML有一个根级别,然后有一系列不同的表结构 公共类外部导入{使用JAXb将XML打印到Eclipse控制台的Java,java,printing,jaxb,Java,Printing,Jaxb,在使用JAXb解析XML文件后,如何将其打印到控制台。XML有一个根级别,然后有一系列不同的表结构 公共类外部导入{ public static void main(String[] args) { try { // create JAXB context and initializing Marshaller JAXBContext jaxbContext = JAXBContext.newInstance(ServiceModel.class);
public static void main(String[] args) {
try {
// create JAXB context and initializing Marshaller
JAXBContext jaxbContext = JAXBContext.newInstance(ServiceModel.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
// specify the location and name of xml file to be read
File XMLfile = new File(
"C:\\Users\\Data.xml");
ServiceModel model = (ServiceModel) jaxbUnmarshaller.unmarshal(XMLfile);
System.out.println(model);
XML结构(示例代码)
12
str1234
str1234
str1234
我正试图找到一种方法,用一行或两行代码在控制台上全部打印出来。否则,写50到60行打印语句是一件乏味的工作
这就是我在控制台上得到的全部信息
com.group.project.serviceModelTools。ServiceModel@77396f71此方法将任何POJO java类序列化为格式化的xml字符串:
public String serialize( Object aMessageDto) throws Exception
{
JAXBContext jaxbContext = JAXBContext.newInstance( aMessageDto.getClass());
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty( Marshaller.JAXB_NO_NAMESPACE_SCHEMA_LOCATION, SCHEMA_FILE);
StringWriter sw = new StringWriter();
marshaller.marshal( aMessageDto, sw);
return sw.toString();
}
就叫它:
System.out.println( serialize( myObj));
Jaxb从xml填充Java类…如果你想打印xml,只需从文件中读取,这里不需要Jaxb。如果你想打印对象的内容,那么你必须在类中实现toString方法。你的IDE应该提供生成此方法的功能。我刚刚使用了toString,它给了我成功的结果公共字符串toString(){values return}
System.out.println( serialize( myObj));