3

请告诉我,如何在 Java 中生成 XML?我找不到任何使用 SAX 框架的示例。

4

6 回答 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

看到这个这个使用 SAX 和 Java 生成 XML这个

于 2012-04-22T10:14:19.110 回答
1

如果您想轻松地将 java 对象映射/转换为 XML,您还可以使用JAXBSimpleXMLXStream等库。

假设我们有一个简单的实体/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的快速入门

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 回答