1. 把java中的欄位轉譯成xml格式顯示出來並注入相應的值
Bookbook=newBook();
book.setName("zhangsan");
JAXBContextcontext=JAXBContext.newInstance(Book.class);余稿
行純Marshallermarshaller=context.createMarshaller();檔毀咐
marshaller.marshal(book,System.out);
//Book類頭上要加@xmlRootElemet
2. java 把「<"輸出到xml文件---xml轉義問題
xml轉義字元替換:
public void escape_xml_with_straight_java () {
static final String ESCAPED_XML =
"<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>"
StringBuilder escapedXML = new StringBuilder();
for (int i = 0; i < XML_TO_ESCAPE.length(); i++) {
char c = XML_TO_ESCAPE.charAt(i);
switch (c) {
case '<':
escapedXML.append("<");
break;
case '>':
escapedXML.append(">");
break;
case '\"':
escapedXML.append(""");
break;
case '&':
escapedXML.append("&");
break;
case '\'':
escapedXML.append("'");
break;
default:
if (c > 0x7e) {
escapedXML.append("" + ((int) c) + ";");
} else
escapedXML.append(c);
}
}
assertEquals(ESCAPED_XML, escapedXML.toString());
}
總體思路就是遇到特殊字元,如"<",用"<"來替換就可以了。
3. java如何還原xml中的轉義字元
忽略轉義的工具類, org.apache.commons.lang.StringEscapeUtils,其中unescapeJava(String s)方法是來處理java轉義字元的,可以將字元串中的 「\」轉換為 「\」,「'」轉換為「'」等。通過這個方法處理以上字元串
public class Test(){ public static void main(String[] args) { String s = "\\u79fb\\u52a8\\u4e92\\u8054\\u7f51\\u5e94\\u7528"; String s2 = StringEscapeUtils.unescapeJava(s); System.out.println(s); System.out.println(s2); } }
輸出結果: \u79fb\u52a8\u4e92\u8054\u7f51\u5e94\u7528移動互聯網應用