Ò»¸öʹÓÃJDOM¶ÁÈ¡XMLÎļþµÄ¹¤¾ßÀà
/*
* history
*
* Created on 2003-5-26
*
* 2003-06-05
* 1.Ôö¼ÓÁËLogµÄ´¦ÀíÐÅÏ¢¡£
* 2.Å׳öµÄÒì³£ÓÉÔÀ´UtilExceptionµÄ¸Ä±ä³ÉXMLException£¬ºóÕ߼̳ÐǰÕß¡£
*
* 2003-09-02 by David Yu
* 1.Ôö¼ÓÁ˸ıäÒ»¸öÖ¸¶¨ÔªËØÎı¾µÄ·½·¨¡£
*
*/
package accp.util.xml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdom.Attribute;
import org.jdom.Content;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
import org.jdom.xpath.XPath;
/**
* Ò»¸öʹÓÃJDOM¶ÁÈ¡XMLÎļþµÄ¹¤¾ßÀà¡£
* Õâ¸öÀàµÄÄÚ²¿·â×°ÁËJDOMµÄ¾ßÌåʵÏÖ£¬ÌṩÁ˳£ÓõÄһЩ·½·¨£¬±ÜÃâÖ±½ÓʹÓÃJDOMµÄAPI¡£
* ͬʱ£¬Ò²ÌṩÁË·½·¨¿ÉÒÔ·µ»ØJDOMµÄһЩ»ù±¾ÀàÐÍ¡£Ä¿Ç°µÄ°æ±¾Öл¹Ã»ÓÐʵÏÖ¹ØÓÚNamespace
* µÄ²Ù×÷¡£<br/>
* <pre>
* <b>ʹÓÃÁËXPath£¬ËùÒÔ±ØÐëʹÓÃJDOM-beta9¼°ÒÔÉϵİ汾¡£</b><br/>
* XMLÐèÒªÒýÈëµÄ°ü£ºjdom.jar£¬xerces.jar£¬xml-apis.jar£¬xalan.jar£¬
* jaxen-core.jar£¬jaxen-jdom.jar£¬saxpath.jar<br/>
* LogÐèÒªÒýÈëµÄ°ü£ºcommons-logging.jar
* </pre>
* <pre>
* »ù±¾Ê¾Àý£º<br/>
* String filePath = "c:/xx/xxx.xml";
* XMLUtil util = XMLUtil.getInsance(filePath);
* Element element = util.getSingleElement("/root/elemA/elemB");
* String text = util.getSingleElementText("/root/elemA/elemB");
* </pre>
*
* @author Backham Yu
*/
public class XMLUtil
{
pro
Ïà¹ØÎĵµ£º
<?xml version="1.0" encoding="utf-8"?>
<userdata createuser="false">
<dataconnection>
<server>xml test</server>
<uid>sa</uid>
<pwd>sa</pwd>
</dataconnection> ......
ÒÑÖªÓÐÒ»¸öXMLÎļþ£¨bookstore.xml£©ÈçÏ£º
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
&n ......
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "GB2312", null);
doc.AppendChild(dec);
//´´½¨Ò»¸ö¸ù½Úµã£¨Ò»¼¶£©
XmlElement root = doc.CreateElement("First");
doc.AppendChild(root);
//´´½¨½Úµã£ ......
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐѰÕÒ
ÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶øDOM±» ......
ÄܶÁдÈκÎXMLÅäÖÃÎļþ£¬ÄÜʵÏÖÓû§²ãÃæµÄ¼Ó½âÃÜ£¬ÒÔÏ´úÂëÖеÄB64Eº¯ÊýΪ¼ÓÃܺ¯Êý£¬B64DΪ½âÃܺ¯Êý£¬¿ÉÒÔ×Ô¼º±àд
Éú³ÉµÄXML¸ù½ÚµãΪZBS£¬¿ÉÒÔÌæ»»ÎªÆäËüÓÐÒâÒåµÄ½ÚµãÃû³Æ
Option Explicit
Public xmlDoc As DOMDocument
Public aNode As IXMLDOMElement 'µ±Ç°¼¤»îNode
Public xmlFilePath As String, ReadOnly As Bo ......