我見過很多地方在使用java pojo類
@XmlRootElement(name="Class_Name")
註解。將java類轉換爲xml需要什麼?
該文檔說明它用於將java類轉換爲xml。
但是需要做什麼?
有人可以解釋一下嗎?
我見過很多地方在使用java pojo類
@XmlRootElement(name="Class_Name")
註解。將java類轉換爲xml需要什麼?
該文檔說明它用於將java類轉換爲xml。
但是需要做什麼?
有人可以解釋一下嗎?
爲什麼要將java類轉換爲XML有很多種可能的原因。但其中一個最常見的原因,雖然不一定總是,但是因爲您需要將的類信息存儲在其他地方,以便動態地重新創建。也就是說,有一個轉換和解除轉換。
對此的一個常見示例是:通過傳遞包含有關該類的信息的網絡/ Web的XML消息,消息的接收者可以創建代理/動態類並使用代理/動態類來執行某些操作在接收方。
使用XML可能帶來的另一個好處是接收方可能不一定使用java讀取或處理轉換後的java類。它可以通過任何其他語言(如C#,Python等)進行處理。出於類似的原因,您也可能會發現一個類轉換爲JSON並傳遞。
當你通過網絡發送java對象時,它應該以某種方式序列化爲一些可以發送的字符串。
有一定的格式通過網絡發送的序列化數據,所以xml
是因爲xml
具有反序列化的/它哪些對象可序列化描述格式/,則非常像java或在許多許多語言中其中之一標準如SOAP
web服務等
例如產品是你的目標類:
@XmlRootElement
public class Product {
private String name;
private int quantity = 0;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public int getQuantity() {
return quantity;
}
@XmlElement
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
二傳手必須標明@XmlElement註釋
接下來我們需要做的編組操作:
File file = new File("test.xml");
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
JAXBContext jaxbContext = JAXBContext.newInstance(Product.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(product, file);
一個可能的原因爲Java對象轉換爲XML將通過網絡發送(一個流行的替代XML是JSON)。 –
您可以參考: http://blog.bdoughan.com/2012/07/jaxb-and-root-elements.html – Suyash