C#ÖжÔXML½Úµã½øÐÐÔöɾ¸Ä²é
ºÅ³ÆxmlhelperµÄÒ»¸öÀà
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml;
namespace WebApplication2
{
/// <summary>
/// XMLHelper XMLÎĵµ²Ù×÷¹ÜÀíÆ÷
/// </summary>
public class XMLHelper
{
public XMLHelper()
{
//
// TODO: ÔÚ´Ë´¦Ìí¼Ó¹¹Ô캯ÊýÂß¼
//
}
#region XMLÎĵµ½Úµã²éѯºÍ¶ÁÈ¡
/// <summary>
/// Ñ¡ÔñÆ¥ÅäXPath±í´ïʽµÄµÚÒ»¸ö½ÚµãXmlNode.
/// </summary>
/// <param name="xmlFileName">XMLÎĵµÍêÈ«ÎļþÃû(°üº¬ÎïÀí·¾¶)</param>
/// <param name="xpath">ҪƥÅäµÄXPath±í´ïʽ(ÀýÈç:"//½ÚµãÃû//×Ó½ÚµãÃû")</param>
/// <returns>·µ»ØXmlNode</returns>
public static XmlNode GetXmlNodeByXpath(string xmlFileName, string xpath)
{
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(xmlFileName); //¼ÓÔØXMLÎĵµ
XmlNode xmlNode = xmlDoc.SelectSingleNode(xpath);
return xmlNode;
}
catch (Exception ex)
{
return null;
//throw ex; //ÕâÀï¿ÉÒÔ¶¨ÒåÄã×Ô¼ºµÄÒì³£´¦Àí
}
}
/// <summary>
/// Ñ¡ÔñÆ¥ÅäXPath±í´ïʽµÄ½ÚµãÁбíXmlNodeList.
/// </summary>
/// <param name="xmlFileName">XMLÎĵµÍêÈ«ÎļþÃû(°üº¬ÎïÀí·¾¶)</param>
/// <param name="xpath">ҪƥÅäµÄXPath±í´ïʽ(ÀýÈç:"//½ÚµãÃû//×Ó½ÚµãÃû")</param>
/// <returns>·µ»ØXmlNodeList</returns>
public static XmlNodeList GetXmlNodeListByXpath(string xmlFileName, string xpath)
{
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(xmlFileName); //¼ÓÔØXMLÎĵµ
XmlNodeList xmlNodeList = xmlDoc.SelectNodes(xpath
Ïà¹ØÎĵµ£º
//ÅжϸÃxmlÎĵµÊÇ·ñ´æÔÚ£¬²»´æÔÚÔò´´½¨
if (!File.Exists(Constants.SYS_CONFIGURE_URL + @"\SaveAccount.xml"))
&nbs ......
Ò»°ãÐÂÊÖͨ³£Ö»ÊÇʹÓÃÀàËÆµÄXerces,
TinyXMLÖ®ÀàµÄXML½âÎöxml£¬ÕâÖÖ·½Ê½Êµ¼ÊÉϺÜÀË·Ñʱ¼ä£¬×Ô¼º±àдºÜ¶à´úÂëÒ²ÈÝÒ׳ö´í¡£ÒòΪ£¬ËûÃǾ³£ÒªÐ´Ò»¸öXML¶ÔÏóEntityµÄÀ࣬²¢¸½×ÅÒ»¶Ñ¶ÔÏó½âÎöµÄcode¡£¹¤×÷Á¿±È½Ï´ó¡£Ê¹ÓÃXML
Schema¹¤¾ß£¬XSDÉè¼Æ¹¤¾ß£¬È»ºóͨ¹ý¹¤¾ßÉú³ÉEntityClassºÍPaser
class¡£ÎÒ²»ÖªµÀÕâÖÖ¼¼ÊõÈ·ÇÐµÄÆðÔ ......
C#ÐòÁл¯xml
¹Ø¼ü²½Ö裺
XmlSerializer xSerializer = new XmlSerializer(typeof(MyObj));
StringWriter sWriter = new StringWriter(CultureInfo.InvariantCulture);
XmlTextWriter xTextWriter = new XmlTextWriter(sWriter);
......
±È½Ï£º
1. DTD
a. ×îÔçµÄXML Contraint
b. ÓÉW3C¶¨Òå
C. ·Ç³£¼òµ¥
2. XML Schema
a. ĿǰӦÓÃ×î¹ãµÄXML Contraint
b. ÓÉW3C¶¨Òå
c. ºÜÁé»î£¬µ«·Ç³£¸´ÔÓ
3. Relax NG
a. ÊǸöÒ°º¢×Ó£¬²»ÊÇÓÉW3C¶¨Òå
b. ·Ç³£·Ç³£¼òµ¥Ö±¹Û
c. ¶ÔÓÚÐèҪƵ·±¶¨ÒåContraintµÄEngineer·Ç³£ºÏÊÊ
Ï໥ת»¯£º
1. XML Document -> DTD ......
½øÈëMyEclipse6.XÏÂ
Ð޸ģºeclipse.ini Îļþ
-Duser.language=en
¸Ä³É
-Duser.language=zh
µ¯³öÌáʾ£ºCtrl+"/"
dtd ÃüÃû¿Õ¼äµÄÌáʾÐÅÏ¢
window-->Preference-->xml-->XML Catalog-->add
Location :sql-map-2.dtd
key type :pubic ID
key:-//ibatis.apache.org//DTD SQL Map 2.0//EN (XMLÎļþÃüÃû¿Õ¼ ......