±êÇ©£ºÊý¾Ý·ÃÎÊ ADO.NET
´¦ÀíXMLƬ¶Î ´¦ÀíƬ¶Îʱ£¬Ö»ÊÇ°ÑXElement£¨¶ø²»ÊÇXDocument£©µ±×÷¶¥¼¶XML¶ÔÏó¡£
Ƭ¶ÎµÄΨһÏÞÖÆÊÇ£¬²»ÄÜÌí¼Ó±È½Ï½ÚµãÀàÐÍ£¬ÀýÈ磺XComment£¬XDeclaration£¬XProcessingInstruction(ÓÃÓÚXML´¦ÀíÖ¸Áî)¡£
Àý£º XElement xcust = new XElement( new XElement(......)..........);
×¢Ò⣺ÕâÁ½¸öÀ඼ʵÏÖÁËLoad()ºÍSave()·½·¨£¬XElemnt ºÍ XDocument¼Ì³Ð×ÔLINQ to XMLÀàµÄXContainer£» ÔÚXDocumentÉÏÖ´ÐеĴó¶àÊý²Ù×÷£¬ÔÚXElementÉÏÒ²¿ÉÒÔÖ´ÐС£ ......
±êÇ©£ºÊý¾Ý·ÃÎÊ ADO.NET
²éѯXMLÎĵµ LINQ to XMLÀàÌṩÊôÐԺͷ½·¨£¬·µ»Ø¿É²éѯµÄÀàµÄ¶ÔÏ󼯺ϡ£
½«XML¶ÔÏó×÷ΪLINQ²éѯ¶ÔÏó£º
.......
XDocument customers = XDocument.Load(xmlFileName);
var queryResult = from c in customers.Elements() select c.Name;
ʹÓòéѯ³ÉÔ±
1£©Element()£º·µ»ØÎĵµ »ò Ƭ¶ÎÖеĵÚÒ»¸öÔªËØ¡£ÎĵµµÄ»°¾Í·µ»Ø¸ùÔªËØ£» 2£©Descendants()£º·µ»ØÎĵµ »ò Ƭ¶ÎÖеÄËùÓÐ×ÓÔªËØ£¨ËùÓм¶±ð£©£» Àý£ºqueryResults = from c in customers.Descendants() select c.Name; ......
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace System.Bwch.XmlConfig
{
/**////
/// ¶ÁÈ¡XMLÅäÖÃÎļþÀà
///
public class XmlHelper
{
private string strXmlPath = ""; //XmlÎĵµÂ·¾¶
private XmlDocument xmlDoc; //XMLÎĵµ
/**////
/// ³õʼ»¯ReadXmlÀà
///
/// XMLÎļþ·¾¶
public XmlHelper(string XMLPath)
{
if (!System.IO.File.Exists(XMLPath))
{
throw new Exception("ûÓÐÕÒµ½Ö¸¶¨µÄ·¾¶£º" + XMLPath + "µÄXMLÎĵµ");
}
strXmlPath = XMLPath;
xmlDoc = new XmlDocument();
xmlDoc.Load(XMLPath);
}
/**////
/// ¶ÁÈ¡XMLÎļþÖ¸¶¨¼üÖµµÄvalue Öµ
///
/// ¼üÖµµÄ·¾¶,¸ñʽΪ(¸ù½Úµã/½Úµã/×Ó½Úµã)
/// Ö¸¶¨¼üÖµµÄÊôÐÔÃû³Æ
/// valueÖµ
public string ReadXmlValue(string XMLNodePath,string valueName)
......
²Î¿¼£º°Ù¶È°Ù¿Æ http://baike.baidu.com/view/1027076.htm?fr=ala0
ÔÚJDK 6.0ÖлùÓÚStAX·ÖÎöXMLÊý¾Ý£º http://hi.baidu.com/1shome/blog/item/5baaee01db2609051d958302.html
DOM¡¢SAX
¡¢DOM4J¡¢JDOM¡¢StAXÉú³ÉXML
²¢·µ»ØXML×Ö·û´®ÐÎʽ£ºhttp://dreams75.javaeye.com/blog/512319
STAX:Streaming API for XML (StAX)
Õë¶ÔÓÚXMLµÄÁ÷ʽAPI(StAX)£¬ÊÇÔÚ2004Äê3ÔµÄJSR 173¹æ·¶ÖÐÒýÈ룬ÕâÊÇÒ»ÖÖÕë¶ÔXMLµÄÁ÷ʽÀ·ÖÎöAPI¡£StAXÊÇJDK
6.0ÌṩµÄÒ»ÖÖÐÂÌØÕ÷¡£StAXͨ¹ýÌṩһÖÖ»ùÓÚʼþµü´úÆ÷(Iterator)µÄAPIÈÃ
³ÌÐòԱȥ¿ØÖÆxmlÎĵµ½âÎö¹ý³Ì,³ÌÐò±éÀúÕâ¸öʼþµü´úÆ÷È¥´¦Àíÿһ¸ö½âÎöʼþ£¬½âÎöʼþ¿ÉÒÔ¿´×öÊdzÌÐòÀ³öÀ´µÄ£¬Ò²¾ÍÊdzÌÐò´Ùʹ½âÎöÆ÷²úÉúÒ»¸ö½âÎöʼþ
È»ºó´¦Àí¸Ãʼþ£¬Ö®ºóÓÖ´Ùʹ½âÎöÆ÷²úÉúÏÂÒ»¸ö½âÎöʼþ£¬Èç´ËÑ»·Ö±µ½Åöµ½Îĵµ½áÊø·û£»
SAX
Ò²ÊÇ»ùÓÚʼþ´¦ÀíxmlÎĵµ£¬µ«È´ÊÇÓÃÍÆģʽ½âÎö£¬½âÎöÆ÷½âÎöÍêÕû¸öxmlÎĵµºó£¬²Å²úÉú½âÎöʼþ£¬È»ºóÍƸø³ÌÐòÈ¥´¦ÀíÕâЩʼþ£»
Ò»¡¢ ÍÆ·ÖÎöÖ®ÓÚÀ·ÖÎö
¡¡¡¡±È½ÏÓÚÍÆ·ÖÎö£¬À·ÖÎö¾ßÓÐÈçÏÂһЩÓŵ㣺
¡¡¡¡1.
ÔÚÀ·ÖÎöÖУ¬Ê¼þÊÇÓÉ·ÖÎöÓ¦ÓóÌÐòÉú³ÉµÄ£¬Òò´Ë°Ñ·ÖÎö¹æÔòÌṩµ½¿Í»§¶Ë¶ø²»ÊÇ·ÖÎöÆ÷¡£
¡¡¡¡2.
À·ÖÎöµÄ´ú ......
¡¡¡¡XML£¨Extensible Markup Language£©¼´¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ£¬ËüÓëHTMLÒ»Ñù£¬¶¼ÊÇSGML(Standard Generalized Markup Language,±ê׼ͨÓñê¼ÇÓïÑÔ)¡£XmlÊÇInternet»·¾³Öпçƽ̨µÄ£¬ÒÀÀµÓÚÄÚÈݵļ¼Êõ£¬Êǵ±Ç°´¦Àí½á¹¹»¯ÎĵµÐÅÏ¢µÄÓÐÁ¦¹¤¾ß¡£À©Õ¹±ê¼ÇÓïÑÔXMLÊÇÒ»ÖÖ¼òµ¥µÄÊý¾Ý´æ´¢ÓïÑÔ£¬Ê¹ÓÃһϵÁмòµ¥µÄ±ê¼ÇÃèÊöÊý¾Ý£¬¶øÕâЩ±ê¼Ç¿ÉÒÔÓ÷½±ãµÄ·½Ê½½¨Á¢£¬ËäÈ»XMLÕ¼ÓõĿռä±È¶þ½øÖÆÊý¾ÝÒªÕ¼Óøü¶àµÄ¿Õ¼ä£¬µ«XML¼«Æä¼òµ¥Ò×ÓÚÕÆÎÕºÍʹÓá£
¡¡¡¡XMLʵÀý
¡¡¡¡<?xml version="1.0" encoding="ISO-8859-1"?>
¡¡¡¡<bookstore>
¡¡¡¡<book catalog="Programming">
¡¡¡¡<title lang="en">C++ Programming Language</title>
¡¡¡¡<author>Bjarne Stroustrup</author>
¡¡¡¡<year>1998</year>
¡¡¡¡<price>98.0</price>
¡¡¡¡</book>
¡¡¡¡<book catalog="Networking">
¡¡¡¡<title lang="en">TCP/IP Illustrated</title>
¡¡¡¡<author>Richard Stevens</author>
¡¡¡¡<year>1996</year>
¡¡¡¡<price>56.0</price>
¡¡¡¡</book>
¡¡¡¡</bookstore&g ......
using System.Xml;//Í·²¿¼Ó´ËÃüÃû¿Õ¼ä
XmlDocument xd = new XmlDocument();//±íʾXMLÎĵµ
XmlDeclaration xde;//±íʾ XML ÉùÃ÷½Úµã£º<?xml version='1.0'...?>
xde = xd.CreateXmlDeclaration("1.0", "GBK", null);//²ÎÊýµÄµÚ¶þÏîΪ±àÂ뷽ʽ
//standalone¶¨ÒåÁËÊÇ·ñ¿ÉÒÔÔÚ²»¶ÁÈ¡ÈκÎÆäËüÎļþµÄÇé¿öÏ´¦Àí¸ÃÎĵµ,ĬÈÏΪno
xd.AppendChild(xde);//<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Éú³É½áÊø
XmlElement xe = xd.CreateElement("Root");//´´½¨Ò»¸öRoot¸ùÔªËØ
xd.AppendChild(xe);//Root¸ùÔªËØ´´½¨Íê³É
XmlNode root = xd.SelectSingleNode("Root");//²éÕÒ<Root>
XmlElement xe1 = xd.CreateElement("Tree");/ ......
using System.Xml;//Í·²¿¼Ó´ËÃüÃû¿Õ¼ä
XmlDocument xd = new XmlDocument();//±íʾXMLÎĵµ
XmlDeclaration xde;//±íʾ XML ÉùÃ÷½Úµã£º<?xml version='1.0'...?>
xde = xd.CreateXmlDeclaration("1.0", "GBK", null);//²ÎÊýµÄµÚ¶þÏîΪ±àÂ뷽ʽ
//standalone¶¨ÒåÁËÊÇ·ñ¿ÉÒÔÔÚ²»¶ÁÈ¡ÈκÎÆäËüÎļþµÄÇé¿öÏ´¦Àí¸ÃÎĵµ,ĬÈÏΪno
xd.AppendChild(xde);//<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Éú³É½áÊø
XmlElement xe = xd.CreateElement("Root");//´´½¨Ò»¸öRoot¸ùÔªËØ
xd.AppendChild(xe);//Root¸ùÔªËØ´´½¨Íê³É
XmlNode root = xd.SelectSingleNode("Root");//²éÕÒ<Root>
XmlElement xe1 = xd.CreateElement("Tree");/ ......