問題描述
按規定格式組裝 XML,代碼邏輯無誤,但覺得「不生效」,後發現只是未將生成的 XML 打印或寫入文件,實際內存中已正確構建。
常見 XML 生成方式對比
| 方式 | 適用場景 | 關鍵API |
| DOM (DocumentBuilder) | 文檔較小、需隨機訪問 | Document, Element, Transformer |
| JAXB | 對象與 XML 映射、企業級開發 | Marshaller, @XmlRootElement |
| StringBuilder 拼接 | 簡單、固定格式、性能敏感 | append, toString |
驗證生成結果的正確姿勢
// DOM 方式輸出到控制台
TransformerFactory.newInstance().newTransformer()
.transform(new DOMSource(doc), new StreamResult(System.out));
// 或寫入文件
Files.write(Paths.get("out.xml"), xmlString.getBytes(StandardCharsets.UTF_8));
總結
「不生效」多半是未輸出驗證。養成單元測試習慣,斷言生成 XML 與預期一致(可用 XMLUnit 忽略格式差異比較)。
- 上一篇文章: MyBatis 手動獲取 Connection 後是否需關閉?Druid 連接池回收機制實測
- 下一篇文章: Java Vector 移除元素原理:引用相等即可移除,無需 equals 重寫
Copyright ©
程式碼之家 All Rights Reserved