Java+XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Books>
<book id="1">
<bookName>Java</bookName>
<bookISBN>9-88-56123</bookISBN>
<bookPrice>28.00</bookPrice>
</book>
<book id="2">
<bookName>SQL</bookName>
<bookISBN>9-66-56123</bookISBN>
<bookPrice>20.00</bookPrice>
</book>
</Books>
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomXML {
//DocumentBuildFactory:定义解析器工厂
DocumentBuilderFactory factory = null;
//创建解析器
DocumentBuilder builder = null;
//将XML文档传递给解析器
Document doc = null;
//获得根结点
Element et = null;
//获得子结点
NodeList books = null;
public DomXML() throws Exception
{
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
doc = builder.parse("book.xml");
doc.normalize();
et = doc.getDocumentElement();
books = et.getElementsByTagName("book");
}
//输出XML文档内容
public void showXML()
{
System.out.println(et.getNodeName() + "\n");
for(int i = 0;i < books.getLength(); i++)
{
Node n = books.item(i);
NodeList bookList = n.getChildNodes();
for(int j = 0;j < bookList.getLength(); j++)
{
if(bookList.item(j).getNodeType() == Node.ELEMENT_NODE)
{
System.out.println(bookList.item(j).getFirstChild().getTextContent());
}
}
System.out.println();
}
}
//写入XML文档
public void writeXML() throws Exception
{
Element book = doc.createElement("book");
book.setAttribute("id","3");
Element bookName = doc.createElement("bookName");
Element bookISBN = doc.createElement("bookISBN");
Element bookPrice = doc.createElement("bookPrice");
bookName.setTextContent(".net");
bookISBN.setTextContent("123456789");
bookPrice.setTextContent("11");
doc.getDocumentElement().appendChild(book);
book.appendChild(bookName);
book.appendChild(bookISBN);
book.appendChild(bookPrice);
//写入XML
TransformerFactory tf = TransformerFactory.newInstance();
Transformer f = tf.newTransformer();
f.transform(new DOMSource(doc), new StreamResult(new File("book.xml")));
}
public static void main(String[] args) throws Exception {
// TODO 自动生成方法存根
DomXML dom = new DomXML();
dom.showXML();
dom.writeXML();
dom.showXML();
}
}