XML over TCP
Èç¹ûÒªÍêÕûµÄÖ§³ÖXML over TCP£¬Ö»ÓÐÁ½ÖÖ°ì·¨£º
1£¬¼ÓÒ»¸öheaderÈ¥±êÃ÷Êý¾ÝµÄ³¤¶È
2£¬¼ÓÒ»¸ödelimiterÈ¥±êÃ÷Êý¾ÝµÄ½áÊø
ÕâÁ½ÖÖ·½·¨¶¼²»¹»ÓÅÑÅ¡£ÎÒÃDz»ÐèÒªÒ»¸öͨÓõķ½·¨£¬ÎÒÃÇÖ»ÒªÒ»¸ö×îÊʺÏÎÒÃǵķ½·¨¡£
ͨ³££¬ÎÒÃÇÄܹ»×Ô¶¨ÒåÊý¾ÝµÄ¸ñʽ£¬¶øÇÒÎÒÃÇͨ³£Ò»ÌõÏûÏ¢Ö»ÓÐÒ»¸öroot node£¬ÄÇôÎÒÃÇ¿ÉÒÔÊÔÊÔÏÂÃæµÄº¯Êý£º
//return length of the xml message
//return -1 for invalid data
//return 0 for not fully received
int GetXmlLen(string buf, string rootName)
{
string head = "<" + rootName;
if (buf.Length < head.Length)
{
//not fully recved
return 0;
}
if (!buf.StartsWith(head))
{
//invalid
return -1;
}
int idx = buf.IndexOf('>');
if (idx < 0)
{
//not fully recved
return 0;
}
if (buf[idx-1] == '/')
{
//empty root element
return (idx + 1);
}
string tail = "</" + rootName + ">";
idx = buf.IndexOf(tail);
if (idx < 0)
{
//not fully recved
return 0;
}
return (idx + tail.Length);
}
ÒªÇó£ºXMLÏûÏ¢Ö»ÓÐÒ»¸öroot node£¬rootName²»ÊÇÈκÎ×Ó½ÚµãµÄÃû×Ö£¬¶øÇÒÏûÏ¢ÊÇÒÔ"/>"»òÕß"</rootName>"½áβ¡£
Õâ²¢²»ÊǺܿÁ¿ÌµÄÒªÇ󣬴ó¶àÊý»ùÓÚXMLµÄÐÒéʵ¼ÊÉϾÍÊÇÕâÑùµÄ¡£
Èç¹ûÄãµÄXMLÐÒéÂú×ãÉÏÊöÒªÇó£¬ÄÇôµ±ÄãÔÚTCPÉÏ´«ÊäXMLµÄʱºò£¬¾Í¿ÉÒÔÊÔÊÔÎҵĺ¯Êý¡£
PS£ºÕâ¸öʾÀýº¯ÊýÊÇÓÃC#дµÄ£¬ÓÃÆäËûÓïÑÔÒ²ºÜÈÝÒ×ʵÏÖͬÑùµÄ¹¦ÄÜ¡£
Ïà¹ØÎĵµ£º
ÕâÆªÎÄÕ±»×ªÔصĴÎÊý×î¶à£¬Æäʵ´úÂë¼òªµÃÎÒ×Ô¼º¶¼¿´²»ÏÂÈ¥¡£Ö»²»¹ý·¢±íÕâÆªÎÄÕÂʱºÜ¶àÈËÐèÒªÕâ¸ö¹¦ÄÜ¡£
Õ⼸Ììд¸öÊý¾Ý¿â²éѯ·ÖÎöÆ÷£¬ÒªÓõ½XML¼Ç¼Óû§×¢²áµÄÊý¾Ý¿âÁ¬½ÓµØÖ·¡¢¶Ë¿ÚµÈÐÅÏ¢£¬×ʼÏëÓÃjava ......
¶ÔÓÚСÐÍÊý¾Ý´æ´¢ºÜ·½±ã¡£
µ«¶àÁ˾ÍÒªÓöµ½IOÆ¿¾±¡£
ÁíÍ⣬XML¸ñʽ±È½ÏͨÓá£
Ò»°ãÀ´Ëµ£¬¸´ÔÓÐ͵ÄÊý¾Ý´æ´¢»¹ÊÇÓÃÊý¾Ý¿âºÃЩ¡£´¦Àí·½±ã¡£¶øÇÒЧÂʸߡ£
ͨÓÃÐÔÇ¿£¬¿ÉÒÔÔÚÈÎºÎÆ½Ì¨ÉÏʹÓá£Ð¡Ð͵ÄÊý¾Ý¶¼¿ÉÒÔʹÓÃXML¡£
ȱµã¾ÍÊÇÓÐÒ»¸ö»º´æµÄÎÊÌâ
1£©XML¿ÉÒÔÓÃÓÚ±¾µØ¼ÆËãµÄÊý¾Ý¡£´«µÝµ½×ÀÃæµÄÊý¾Ý¿ÉÒÔ½øÐб¾µØ¼ÆËã¡£XM ......
Ò»£ºSpringÖеļ¸ÖÖÈÝÆ÷¶¼Ö§³ÖʹÓÃxml×°Åäbean£¬°üÀ¨£º
XmlBeanFactory £¬
ClassPathXmlApplicationContext £¬
FileSystemXmlApplicationContext £¬
XmlWebApplicationContext
¼ÓÔØÕâЩÈÝÆ÷µÄÅäÖÃÎļþµÄxmlÓÐһϼ¸ÖÖ³£¼ûµ ......
public sealed class XmlHelper
{
public static void Serialize<T>(T obj,string fileName)
{
TextWriter writer = new StreamWriter(fileName);
try
{
XmlSerializer ser = new XmlSerializer(typeof(T));
......
XML DOM
¡¡¡¡XML DOM ¶¨ÒåÁË·ÃÎʺʹ¦Àí XML ÎĵµµÄ±ê×¼·½·¨¡£
¡¡¡¡XML DOM ÊÇ XML Document Object Model µÄËõд£¬¼´ XML Îĵµ¶ÔÏóÄ£ÐÍ¡£
¡¡¡¡Ò»¡¢DOM ¼ò½é
¡¡¡¡Ê²Ã´ÊÇ DOM£¿
¡¡¡¡DOM ÊÇ W3C£¨ÍòÎ¬ÍøÁªÃË£© µÄÍÆ¼ö±ê×¼¡£
¡¡¡¡DOM ¶¨ÒåÁË·ÃÎÊÖîÈç XML ºÍ XHTML ÎĵµµÄ±ê×¼¡£
¡¡¡¡“W3C Îĵµ¶ÔÏóÄ£ÐÍ£¨DOM£©ÊÇÒ»¸ ......