请告诉我,如何在 Java 中生成 XML?我找不到任何使用 SAX 框架的示例。
问问题
9007 次
6 回答
2
试试Xembly,这是一个小型开源库,它使用“流利”界面包装原生 Java DOM:
String xml = new Xembler(
new Directives()
.add("root")
.add("order")
.attr("id", "553")
.set("$140.00")
).xml();
会产生:
<root>
<order id="553">$140.00</order>
</root>
于 2013-10-13T13:37:04.640 回答
1
SAX 是一个用 Java 解析现有 XML 文件的库。不是用 Java 创建新的 XML 文件。如果您想这样做,请使用 DOM4J 之类的库来创建 XML 树,然后将其写入文件。
于 2012-04-22T10:14:03.520 回答
1
于 2012-04-22T10:14:19.110 回答
1
如果您想轻松地将 java 对象映射/转换为 XML,您还可以使用JAXB或SimpleXML或XStream等库。
假设我们有一个简单的实体/pojo - Item。pojo 类的属性可以通过简单的注释成为 XML 的元素或属性。
@Entity @Root public class Item {
@Attribute
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Transient
@ManyToOne
private Order order;
@Element
private String product;
@Element
private double price;
@Element
private int quantity; }
要从此项目生成 XML,代码可以很简单
Serializer serializer=new Persister();//SimpleXML serializer
Item itemToSerializeToXml=new Item(2456L, "Head First Java", 250.00,10);//Object to be serialized
StringWriter destinationXMLWriter=new StringWriter();//Destination of XML
serializer.write(itemToSerializeToXml,destinationXMLWriter);//Call to serialize the POJO to XML
System.out.println(destinationXMLWriter.toString());
于 2012-04-22T10:24:11.647 回答
1
使用 dom4j,这里是dom4j的快速入门
于 2012-04-22T10:24:28.387 回答
1
我在https://github.com/jmurty/java-xmlbuilder的 GitHub 上找到了一个不错的 XML 创建库。至少对于简单的文档真的很有用(我没有机会将它用于超过大约十几行的任何内容)。
这个库的好处是它的每个命令(即创建属性、创建元素等)都有 3 级缩写。例如,要将标签添加<foo>
到文档中,您可以使用以下方法:
.e("foo")
(单字母形式).elem("foo"
(4个字母形式).element("foo")
(完全拼写形式)
这允许在适当的情况下使用更长和更缩写的代码创建 XML,因此它非常适合各种编码风格。
于 2016-05-19T16:10:23.127 回答