官方主页:http://www.jdom.org/
如下图所示建立工程:
所使用的jar包一览如下:
saxpath.jar
jaxen-jdom.jar
jaxen-core.jar
xalan.jar
jdom.jar
代码如下:
JdomTest.java
- package demo;
- import java.io.FileInputStream;
- import javax.xml.transform.Transformer;
- import javax.xml.transform.TransformerFactory;
- import javax.xml.transform.stream.StreamResult;
- import javax.xml.transform.stream.StreamSource;
- import org.jdom.Attribute;
- import org.jdom.Comment;
- import org.jdom.Document;
- import org.jdom.Element;
- import org.jdom.output.Format;
- import org.jdom.output.XMLOutputter;
- public class JdomTest {
- public static void main(String[] args) throws Exception {
- Element carElement = new Element("car");
- Document myDocument = new Document(carElement);
- carElement.setAttribute(new Attribute("vin", "123fhg5869705iop90"));
- carElement.addContent(new Element("make").addContent("Toyota"));
- carElement.addContent(new Element("model").addContent("Celica"));
- carElement.addContent(new Element("year").addContent("1997"));
- carElement.addContent(new Element("color").addContent("green"));
- carElement.addContent(new Element("license").addContent("1ABC234").setAttribute("state", "CA"));
- carElement.addContent(new Comment("Description of a car"));
- //Element yearElement = carElement.getChild("year");
- //System.out.println(yearElement.getText());
- //boolean removed = carElement.removeChild("year");
- //System.out.println(removed);
- try {
- Format format = Format.getPrettyFormat();
- XMLOutputter outputter = new XMLOutputter(format);
- outputter.output(myDocument, System.out);
- } catch (java.io.IOException e) {
- e.printStackTrace();
- }
- System.out.println("===============================================");
- TransformerFactory tFactory = TransformerFactory.newInstance();
- org.jdom.output.DOMOutputter outputter = new org.jdom.output.DOMOutputter();
- org.w3c.dom.Document domDocument = outputter.output(myDocument);
- javax.xml.transform.Source xmlSource = new javax.xml.transform.dom.DOMSource(domDocument);
- StreamSource xsltSource = new StreamSource(new FileInputStream("car.xsl"));
- StreamResult xmlResult = new StreamResult(System.out);
- Transformer transformer = tFactory.newTransformer(xsltSource);
- transformer.transform(xmlSource, xmlResult);
- }
- }
car.xsl
- <?xml version="1.0" encoding="UTF-8"?>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:template match="/car">
- <html>
- <head>
- <title><xsl:value-of select="make"/> <xsl:value-of select="model"/></title>
- </head>
- <body>
- <h1><xsl:value-of select="make"/></h1><br />
- <h2><xsl:value-of select="model"/></h2><br />
- <table border="0">
- <tr><td>VIN:</td><td><xsl:value-of select="@vin"/></td></tr>
- <tr><td>Year:</td><td><xsl:value-of select="year"/></td></tr>
- <tr><td>Color:</td><td><xsl:value-of select="color"/></td></tr>
- </table>
- </body>
- </html>
- </xsl:template>
- </xsl:stylesheet>
输出:
<?xml version="1.0" encoding="UTF-8"?>
<car vin="123fhg5869705iop90">
<make>Toyota</make>
<model>Celica</model>
<year>1997</year>
<color>green</color>
<license state="CA">1ABC234</license>
<!--Description of a car-->
</car>
=========================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ToyotaCelica</title>
</head>
<body>
<h1>Toyota</h1>
<br>
<h2>Celica</h2>
<br>
<table border="0">
<tr>
<td>VIN:</td><td>123fhg5869705iop90</td>
</tr>
<tr>
<td>Year:</td><td>1997</td>
</tr>
<tr>
<td>Color:</td><td>green</td>
</tr>
</table>
</body>
</html>
更多信息请参考: