[英]How to create table in xml file using jaxb?
我是JAXB的新手,我嘗試使用Jaxb在xml文件中創建表格格式,但是無法按預期工作。
預期產量
<root>
<table border="1" width="100%">
<thead>
<tr><th>personalDetails</th><th>Date</th><th>Status</th></tr>
</thead>
<tbody>
<tr><td>Ricky,anderson</td><td>Nov 1999</td><td>working</td></tr>
<tr><td>Mackey,manson</td><td>Nov 1979</td><td>completed</td></tr>
<tr><td>Corney,Richson</td><td>Nov 1989</td><td>pending</td></tr>
</tbody>
</table>
</root>
到目前為止,我已經嘗試過
@XmlRootElement(name = "table")
public class Table {
String table;
String thread;
String border;
String width;
String tbody;
public String getTbody() {
return tbody;
}
@XmlElement(name = "tbody")
public void setTbody(String tbody) {
this.tbody = tbody;
}
public String getThread() {
return thread;
}
@XmlElement(name = "thread")
public void setThread(String thread) {
this.thread = thread;
}
public String getBorder() {
return border;
}
@XmlAttribute(name = "border")
public void setBorder(String border) {
this.border = border;
}
@XmlAttribute(name = "width")
public void setWidth(String width) {
this.width = width;
}
public String getWidth() {
return width;
}
}
根元素類。我也在這個類中掙扎,
@XmlRootElement(name = "text")
public class RootTable {
Table table;
public Table getTable() {
return table;
}
public void setTable(Table table) {
this.table = table;
}
主班
public class Test {
public static void main(String[] args) throws JAXBException {
Table table = new Table();
table.setThread("<tr><th>personalDetails</th><th>Date</th><th>Status</th></tr>");
table.setWidth("15");
table.setBorder("100");
table.setTbody("<tr><td>Ricky,anderson</td><td>Nov 1999</td>td>working</td></tr>");
RootTable too = new RootTable();
too.setTable(table);
JAXBContext jaxbContext = JAXBContext.newInstance(RootTable.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
// output pretty printed
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
//jaxbMarshaller.marshal(customer, file);
jaxbMarshaller.marshal(too, System.out);
}
}
如果我運行程序,它將顯示以下輸出
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<text>
<table width="15" border="100">
<tbody><tr><td>Ricky,anderson</td><td>Nov 1999</td>td>working</td></tr></tbody>
<thread><<tr><th>personalDetails</th><th>Date</th><th>Status</th></tr></thread>
</table>
</text>
我不知道該如何進行? 那里還有其他選擇嗎? 有人能幫我嗎。
要解決該問題,請繼續進行建模。 您必須創建Tr
和Td
類,並將這些類的實例添加到表中,而不是添加完整的字符串。
但是,我完全同意提到使用JAXB生成HTML並不是最好的想法。 我不知道您的最終目標是什么,但是盡管從理論上講HTML是XML的子集,但是有更好的工具可以使用它。
我可以提到的是,我個人使用XML解析技術來處理HTML,但是還有其他一些限制使我不得不這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.