请告诉我,如何用Java生成XML? 我找不到任何使用SAX框架的例子。
答案 0 :(得分: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>
答案 1 :(得分:1)
SAX是一个用Java解析现有XML文件的库。它不是用Java创建新的XML文件。如果你想这样做,可以使用像DOM4J这样的库来创建XML树,然后将其写入文件。
答案 2 :(得分:1)
答案 3 :(得分: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());
答案 4 :(得分:1)
使用dom4j,这是 dom4j
的快速入门答案 5 :(得分:0)
我在https://github.com/jmurty/java-xmlbuilder的GitHub上找到了一个很好的XML创建库。至少对于简单文档来说真的很好(我没有机会将它用于大于十几行的任何东西)。
这个库的好处是它的每个命令(即创建属性,创建元素等)都有3个级别的缩写。例如,要将标记<foo>
添加到文档,您可以使用以下方法:
.e("foo")
(单字母表格).elem("foo"
(4个字母的形式).element("foo")
(完全拼写的表格)这允许使用更长和更简短的代码来创建XML,因此它非常适合各种编码样式。