»¶ÓÄú·ÃÎÊÎÒ°®IT¼¼ÊõÍø£¬½ñÌìС±àΪÄã·ÖÏíµÄ±à³Ì¼¼ÊõÊÇ£º¡¾LINQ to XMLµÄ±à³Ì»ù´¡¡¿£¬ÏÂÃæÊÇÏêϸµÄ½²½â£¡
LINQ to XMLµÄ±à³Ì»ù´¡
Ò»¡¢LINQ to XML ±à³Ì»ù´¡1¡¢LINQ to XMLÀà
System.Xml.LinqÃüÃû¿Õ¼äº¬ÓÐ19¸öÀ࣬ϱíÁгöÁËËüÃǵÄÃû³Æ¼°ÆäÃèÊö£º
|
Àà |
ÃèÊö |
|
XAttribute |
±íʾһ¸ö XML ÊôÐÔ |
|
XCData |
±íʾһ¸ö CDATA Îı¾½Úµã |
|
XComment |
±íʾһ¸ö XML ×¢ÊÍ |
|
XContainer |
ÊÊÓÃÓÚ¿ÉÄܾßÓÐ×Ó½ÚµãµÄËùÓнڵãµÄ³éÏó»ùÀà |
|
XDeclaration |
±íʾһ¸ö XML ÉùÃ÷ |
|
XDocument |
±íʾһ¸ö XML Îĵµ |
|
XDocumentType |
±íʾһ¸ö XML ÎĵµÀàÐͶ¨Òå (DTD) |
|
XElement |
±íʾһ¸ö XML ÔªËØ |
|
XName |
±íʾһ¸öXMLÔªËØ»òÊôÐÔµÄÃû³Æ |
|
XNamespace |
±íʾһ¸öXMLµÄÃüÃû¿Õ¼ä |
|
XNode |
Ò»¸ö³éÏóÀ࣬Ëü±íʾ XML Ê÷µÄ½Úµã |
|
XNodeDocumentOrderComparer |
ÌṩÓÃÓڱȽϽڵãµÄÎĵµË³ÐòµÄ¹¦ÄÜ |
|
XNodeEqualityComparer |
ÌṩÓÃÓڱȽϽڵãµÄÖµÊÇ·ñÏàµÈµÄ¹¦ÄÜ |
|
XObject |
XNode ºÍ XAttribute µÄ³éÏó»ùÀà |
|
XObjectChange |
XObjectÒý·¢Ê¼þʱµÄʼþÀàÐÍ |
|
XObjectChangeEventArgs |
Ϊ Changing ºÍ Changed ʼþÌṩÊý¾Ý |
|
XProcessingInstruction |
±íʾһ¸ö XML ´¦ÀíÖ¸Áî |
|
XText |
±íʾһ¸öÎı¾½Úµã |
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>root</Root>
¿ÉÒÔ¿´³ö΢ÈíÔÚLINQÉÏͶÈëÁ˺ܴóµÄ¾«Á¦£¬Ê¹ÎÒÃÇÔÚ±à³Ìʱ¸Ð¾õµ½ºÜÊæ·þ¡£ÏÂÃæ½«Ïêϸ½éÉÜ´¦ÀíXMLʱʹÓÃ×î¶àµÄÈý¸öÀࣺXElement¡¢XAttributeºÍXDocument¡£Èç¹ûÕÆÎÕÁËÕâЩÀ࣬ʹÓÃLINQ to XMLʱ½«»á¸Ðµ½ºÜ˳ÊÖ¡£
2¡¢XElementÀà
XElement ÀàÊÇ LINQ to XML ÖеĻù´¡ÀàÖ®Ò»¡£ Ëü±íʾһ¸ö XML ÔªËØ¡£ ¿ÉÒÔʹÓøÃÀà´´½¨ÔªËØ£»¸ü¸ÄÔªËØÄÚÈÝ£»Ìí¼Ó¡¢¸ü¸Ä»òɾ³ý×ÓÔªËØ£»ÏòÔªËØÖÐÌí¼ÓÊôÐÔ£»»òÒÔÎı¾¸ñʽÐòÁл¯ÔªËØÄÚÈÝ¡£ »¹¿ÉÒÔÓë System.Xml ÖÐµÄÆäËûÀࣨÀýÈç XmlReader¡¢XmlWriter ºÍ XslCompiledTransform£©½øÐл¥²Ù×÷¡£
ʹÓÃLINQ to XML´´½¨xmlÎĵµÓкܶàÖÖ·½Ê½£¬¾ßÌåʹÓÃÄÄÖÖ·½·¨Òª¸ù¾Ýʵ¼ÊÐèÒª¡£¶ø´´½¨xmlÎĵµ×î¼òµ¥¡¢×î³£¼ûµÄ·½Ê½ÊÇʹÓÃXElementÀà¡£ÒÔϵĴúÂëÑÝʾÁËÈçºÎʹÓÃXElementÀà´´½¨Ò»¸öxmlÎĵµ£º
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
LINQ to XMLµÄÇ¿´óÖ®´¦»¹ÔÚÓÚËü¿ÉÒÔʹÓÃLINQ to SQL»òÕßLINQ to Object»ñÈ¡Êý¾ÝÔ´£¬È»ºóÌî³äµ½xmlÊ÷¡£ÒÔϵÄʾÀý´ÓNorthwindÊý¾Ý¿âÖжÁÈ¡Categories¡¢Products±íÖеÄÊý¾ÝÀ´´´½¨°üº¬²úÆ·Àà±ð£¬ÒÔ¼°Ã¿¸öÀà±ðÏÂËùÓвúÆ·µÄxmlÎļþ£º
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
XElementÀà°üº¬ÁËÐí¶à·½·¨£¬ÕâЩ·½·¨Ê¹µÃ´¦Àíxml±äµÃÇá¶øÒ×¾Ù¡£ÓйØÕâЩ·½·¨Çë²ÎÕÕMSDN¡£
ÆäÖУ¬Save¡¢CreateReader¡¢ToStringºÍWriteTo·½·¨ÊDZȽϳ£ÓõÄÈý¸ö·½·¨£º
|
·½·¨ |
²ÎÊý |
·µ»ØÖµ |
ÃèÊö |
|
CreateReader |
ÎÞ |
System.Xml.XmlReader |
´´½¨´Ë½ÚµãµÄ XmlReader |
|
Save |
System.String |
void |
½«´ËÔªËØÐòÁл¯ÎªÎļþ |
|
System.IO.TextWriter |
void |
½«´ËÔªËØÐòÁл¯Îª TextWriter | |
|
System.Xml.XmlWriter |
void |
½«´ËÔªËØÐòÁл¯Îª XmlWriter | |
|
System.String, System.Xml.Linq.SaveOptions |
void |
½«´ËÔªËØÐòÁл¯ÎªÎļþ£¬²¢¿ÉÒÔÑ¡Ôñ½ûÓøñʽÉèÖà | |
|
System.IO.TextWriter, System.Xml.Linq.SaveOptions |
void |
½«´ËÔªËØÐòÁл¯Îª TextWriter£¬²¢¿ÉÒÔÑ¡Ôñ½ûÓøñʽÉèÖà | |
|
WriteTo |
System.Xml.XmlWriter |
void |
½«´ËÔªËØÐ´Èë XmlWriter |
|
ToString |
ÎÞ |
System.String |
·µ»Ø´Ë½ÚµãµÄËõ½ø XML |
|
System.Xml.Linq.SaveOptions |
System.String |
·µ»Ø´Ë½ÚµãµÄ XML£¬²¢¿ÉÒÔÑ¡Ôñ½ûÓøñʽÉèÖà |
ÏÖÔÚÓкܶàʹÓÃXmlReader×÷ΪÊý¾ÝÔ´µÄÓ¦ÓóÌÐò£¬Ê¹ÓÃXElement¿ÉÒԺܷ½±ãµØÌṩ֧³Ö¡£
3¡¢XAttributeÀà
XAttributeÀàÓÃÀ´´¦ÀíÔªËØµÄÊôÐÔ£¬ÊôÐÔÊÇÓëÔªËØÏà¹ØÁªµÄ¡°Ãû³Æ-Öµ¡±¶Ô£¬Ã¿¸öÔªËØÖв»ÄÜÓÐÃû³ÆÖظ´µÄÊôÐÔ¡£Ê¹ÓÃXAttributeÀàÓëʹÓÃXElementÀàµÄ²Ù×÷Ê®·ÖÏàËÆ£¬ÏÂÃæµÄʾÀýÑÝʾÁËÈçºÎÔÚ´´½¨xmlÊ÷ʱΪÆäÌí¼ÓÒ»¸öÊôÐÔ£º
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
XAttributeÀàµÄ·½·¨±È½ÏÉÙ£¬³£ÓõÄÈý¸öÊÇ£º
|
·½·¨ |
ÃèÊö |
|
AddAnnotation |
Ϊ¸ÃÊôÐÔÌí¼Ó×¢½â |
|
Remove |
ɾ³ý¸ÃÊôÐÔ |
|
SetValue |
É趨¸ÃÊôÐÔµÄÖµ |
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
×÷Ϊ³¢ÊÔ£¬ÊÔÒ»ÊÔÒÔÏÂɾ³ýÊôÐԵķ½·¨£º
ÔËÐиÃʾÀý½«»áÅ׳öÒ»¸ö¿ÕÒýÓÃÒì³££¬ÒòÎªÔªËØCategoriesûÓÐÒ»¸ö½Ð×öCategoryIDµÄÊôÐÔ¡£
4¡¢XDocumentÀà
XDocumentÀàÌṩÁË´¦ÀíxmlÎĵµµÄ·½·¨£¬°üÀ¨ÉùÃ÷¡¢×¢Êͺʹ¦ÀíÖ¸Áî¡£Ò»¸öXDocument¶ÔÏó¿ÉÒÔ°üº¬ÒÔÏÂÄÚÈÝ£º
|
¶ÔÏó |
¸öÊý |
˵Ã÷ |
|
XDeclaration |
Ò»¸ö |
ÓÃÓÚÖ¸¶¨xmlÉùÃ÷ÖеÄÖØÒª×é³É²¿·Ö£¬ÈçÎĵµ±àÂëºÍ°æ±¾µÈ |
|
XElement |
Ò»¸ö |
Ö¸¶¨ÎĵµµÄ¸ùÔªËØ |
|
XDocumentType |
Ò»¸ö |
±íʾһ¸öxml DTD |
|
XComment |
¶à¸ö |
Xml×¢ÊÍ¡£Ëü²»ÄÜÊǵÚÒ»¸ö²ÎÊý£¬ÒòΪһ¸öÓÐЧµÄxmlÎĵµ²»ÄÜÒÔ×¢ÊÍ×÷Ϊ¿ªÊ¼ |
|
XProcessingInstruction |
¶à¸ö |
Ϊ´¦ÀíxmlµÄÓ¦ÓóÌÐòÖ¸¶¨ÈκÎËùÐèÐÅÏ¢ |
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
XDocumentÀà°üº¬¶à¸öÓëXElementÀàÏàͬµÄ·½·¨£¬¾ßÌåÄÚÈÝ¿ÉÒÔ²ÎÔÄMSDN¡£ÐèҪעÒâµÄÊÇ£¬´¦Àí½ÚµãºÍÔªËØµÄ´ó²¿·Ö¹¦Äܶ¼¿ÉÒÔͨ¹ýXElement»ñµÃ£¬Ö»Óе±¾ø¶ÔÐèÒªÎĵµ²ã´ÎµÄ´¦ÀíÄÜÁ¦£¬ÒÔ¼°ÐèÒª·ÃÎÊ×¢ÊÍ¡¢´¦ÀíÖ¸ÁîºÍÉùÃ÷ʱ£¬²ÅÓÐʹÓÃXDocumentÀàµÄ±ØÒª¡£
´´½¨ÁËxmlÎĵµºó£¬¿ÉÒÔʹÓÃNodesAfterSelf·½·¨·µ»ØÖ¸¶¨µÄXElementÔªËØÖ®ºóµÄËùÓÐͬ¼¶ÔªËØ¡£ÐèҪעÒâµÄÊÇ£¬´Ë·½·¨Ö»°üÀ¨·µ»Ø¼¯ºÏÖеÄͬ¼¶ÔªËØ£¬¶ø²»°üÀ¨×Ó´ú¡£´Ë·½·¨Ê¹ÓÃÑÓ³ÙÖ´ÐС£ÒÔÏ´úÂëÑÝʾÁËÕâÒ»¹ý³Ì£º
Ö´ÐеĽá¹ûÈçÏ£º
![]()
ʹÓÃLINQ to XMLÖеÄÀàÀ´´¦ÀíxmlÊ®·Ö¼òµ¥ºÍ¸ßЧ£¬°üÀ¨´´½¨¡¢²éѯºÍ²Ù×Ýxml¡£
¶þ¡¢LINQ to XML±à³Ì¸ÅÄî
±¾½Ú½«½éÉÜLINQ to XML±à³ÌµÄÏà¹Ø¸ÅÄÀýÈçÈçºÎ¼ÓÔØxml¡¢´´½¨È«ÐÂxml¡¢²Ù×ÝxmlµÄÐÅÏ¢ÒÔ¼°±éÀúxmlÎĵµ¡£
1¡¢¼ÓÔØÒÑÓеÄxml
ʹÓÃLINQ to XML¼ÓÔØxml¿ÉÒÔ´Ó¶àÖÖÊý¾ÝÔ´»ñµÃ£¬ÀýÈç×Ö·û´®¡¢XmlReader¡¢TextReader»òÎļþ¡£
ÏÂÃæµÄʾÀýÑÝʾÁËÈçºÎ´ÓÎļþÖмÓÔØxml£º
Ò²¿ÉÒÔʹÓÃParse·½·¨´ÓÒ»¸ö×Ö·û´®¼ÓÔØxml£º
2¡¢±£´æxml
ÔÚÇ°ÃæµÄʾÀýÖÐÔø¶à´Îµ÷ÓÃXElement¶ÔÏóµÄSave·½·¨À´±£´æxmlÎĵµ£¬ÔÚÕâÀï¾Í²»ÈßÊöÁË¡£
3¡¢´´½¨xml
ÔÚÇ°ÃæµÄʾÀýÖÐÔø¶à´Îµ÷ÓÃXElement¶ÔÏóµÄ¹¹Ô캯ÊýÀ´´´½¨xmlÎĵµ£¬ÔÚÕâÀï¾Í²»ÈßÊöÁË¡£ÐèҪ˵Ã÷µÄÊÇ£¬ÔÚʹÓÃLINQ to XML´´½¨xmlÎĵµÊ±£¬»áÓдúÂëËõ½ø£¬Õâʹ´úÂëµÄ¿É¶ÁÐÔ´ó´ó¼ÓÇ¿¡£
4¡¢±éÀúxml
ʹÓÃLINQ to XMLÔÚxmlÊ÷ÖбéÀúxmlÊÇÏ൱¼òµ¥µÄ¡£Ö»ÐèҪʹÓÃXElementºÍXAttributeÀàÖÐËùÌṩµÄ·½·¨¡£ElementsºÍElement·½·¨ÌṩÁ˶¨Î»µ½Ä³¸ö»òÄ³Ð©ÔªËØµÄ·½Ê½¡£ÏÂÃæµÄʾÀýÑÝʾÁËÈçºÎ±éÀúxmlÊ÷£¬²¢»ñȡָ¶¨ÔªËصķ½Ê½£º
ÉÏÊö´úÂëÔËÐеĽá¹ûΪ£º

ÊDz»ÊǺܼòµ¥ÄØ£¿Nodes()¡¢Elements()¡¢Element(name)ºÍElements(name)·½·¨ÎªxmlÊ÷µÄµ¼º½ÌṩÁË»ù±¾¹¦ÄÜ¡£
5¡¢²Ù×Ýxml
LINQ to XMLÒ»¸öÖØÒªµÄÌØÐÔÊÇÄܹ»·½±ãµØÐÞ¸ÄxmlÊ÷£¬ÈçÌí¼Ó¡¢É¾³ý¡¢¸üк͸´ÖÆxmlÎĵµµÄÄÚÈÝ¡£
I.²åÈë
ʹÓÃXNodeÀàµÄ²åÈë·½·¨¿ÉÒÔ·½±ãµØÏòxmlÊ÷Ìí¼ÓÄÚÈÝ£º
|
·½·¨ |
˵Ã÷ |
|
AddAfterSelf |
½ô¸úÔڴ˽ڵãÖ®ºóÌí¼ÓÖ¸¶¨µÄÄÚÈÝ |
|
AddBeforeSelf |
½ôÁڴ˽ڵã֮ǰÌí¼ÓÖ¸¶¨µÄÄÚÈÝ |
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
µ±ÐèÒªÌí¼ÓÒ»¸öÔªËØµ½Ö¸¶¨½Úµã֮ǰʱ£¬¿ÉÒÔʹÓÃAddBeforeSelf·½·¨¡£
II.¸üÐÂ
ÔÚLINQ to XMLÖиüÐÂxmlÄÚÈÝ¿ÉÒÔʹÓÃÒÔϼ¸ÖÖ·½·¨£º
|
·½·¨ |
˵Ã÷ |
|
ReplaceWith |
ÓÃÖ¸¶¨µÄÄÚÈÝÀ´È¡´úµ±Ç°ÔªËصÄÄÚÈÝ |
|
ReplaceAll |
ÓÃÖ¸¶¨µÄÄÚÈÝÀ´È¡´úµ±Ç°ÔªËصÄ×ӽڵ㼰Ïà¹ØµÄÊôÐÔ |
|
ReplaceNodes |
ÓÃÖ¸¶¨µÄÄÚÈÝÀ´È¡´úÎĵµ»òµ±Ç°ÔªËصÄ×Ó½Úµã |
|
SetAttributeValue |
ÉèÖÃÊôÐÔµÄÖµ¡¢Ìí¼ÓÊôÐÔ»òÒÆ³ýÊôÐÔ |
|
SetElementValue |
ÉèÖÃ×ÓÔªËØµÄÖµ¡¢Ìí¼Ó×ÓÔªËØ»òÒÆ³ý×ÓÔªËØ |
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
III.ɾ³ý
¿ÉÒÔʹÓÃRemove(XElement)ÓëRemoveAll·½·¨À´É¾³ýxml¡£
ÔÚÏÂÃæµÄʾÀýÖУ¬Ê¹ÓÃÁËRemoveAll·½·¨£º
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
<?xml version="1.0" encoding="utf-8"?>
<Categories />
ÔÚÏÂÃæµÄʾÀýÖУ¬Ê¹ÓÃÁËRemove·½·¨É¾³ýÁËxmlµÄDescriptionÔªËØ£º
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
6¡¢´¦ÀíÊôÐÔ
I.Ìí¼Ó
LINQ to XMLÌí¼ÓÊôÐÔÓëÌí¼ÓÔªËØÊ¦ÀàËÆµÄ£¬¿ÉÒÔʹÓù¹Ô캯Êý»òÕßAdd·½·¨À´Ìí¼ÓÊôÐÔ£º
ÔËÐиÃʾÀý½«»áµÃµ½Ò»¸öxmlÎļþ£¬ÆäÄÚÈÝΪ£º
II.¼ìË÷
¼ìË÷ÊôÐÔ¿ÉÒÔʹÓÃAttribute(name)·½·¨£º
ÉÏÊö´úÂëµÄÔËÐнá¹ûΪ£º
CategoryID
1
III.ɾ³ý
ɾ³ýÊôÐԵIJÙ×÷Êǵ÷ÓÃXAttribute¶ÔÏóµÄRemove·½·¨À´Íê³ÉµÄ¡£
±¾ÎÄ×ܽá
±¾ÎĽéÉÜÁËLINQ to XMLµÄ±à³Ì»ù´¡£¬¼´System.Xml.LinqÃüÃû¿Õ¼äÖеĶà¸öLINQ to XMLÀ࣬ÕâЩÀà¶¼ÊÇLINQ to XMLµÄÖ§³ÖÀ࣬ËüÃÇʹµÃ´¦Àíxml±ÈʹÓÃÆäËûµÄxml¹¤¾ßÈÝÒ׵öࡣÔÚ±¾ÎÄÖУ¬×ÅÖØ½éÉܵÄÊÇXElement¡¢XAttributeºÍXDocument¡£
pdf°æÏÂÔØ£¬¸üÈÝÒ×ÔĶÁ
¹ØÓÚLINQ to XMLµÄ±à³Ì»ù´¡µÄÓû§»¥¶¯ÈçÏ£º
¡¡¡¡Ïà¹ØÎÊÌ⣺
¡¡¡¡´ð£º >>Ïêϸ
¡¡¡¡Ïà¹ØÎÊÌ⣺
¡¡¡¡´ð£º >>Ïêϸ
¡¡¡¡Ïà¹ØÎÊÌ⣺
¡¡¡¡´ð£º >>Ïêϸ
- ¡¾asp¡¿asp.net urlÖØÐ´Ç³Ì¸-net-urlÖØÐ´
- ¡¾DataSet¡¿DataSet¡¢DataTable¡¢DataRowÇø±ðÏê½â
- ¡¾asp¡¿asp.net ¶¯Ì¬Ìí¼Ó¶à¸öÓû§¿Ø¼þ-net-¶¯Ì¬Ìí
- ¡¾ASP¡¿ASP.NETÖÐÄÚÇ¶Ò³Ãæ´úÂëµÄÒ»¸öÎÊÌâ-NET-ÄÚ
- ¡¾As¡¿Asp.netÖеÄÒ³ÃæÂÒÂëµÄÎÊÌâ-sp--pn-ne-et
- ¡¾´´½¨¡¿ASP.NET Web API½Ì³Ì ´´½¨ÓòÄ£Ð͵ķ½·¨Ïê
- ¡¾Asp¡¿Asp.net Ò³Ãæµ÷ÓÃjavascript±äÁ¿µÄÖµ-net-
- ¡¾ASP¡¿ASP.NET 5Éý¼¶ºóÈçºÎɾ³ý¾É°æ±¾µÄDNX-NET5
- ¡¾404Ò³Ãæ¡¿ASP.NETÉèÖÃ404Ò³Ãæ·µ»Ø302HTTP״̬Âë
- ¡¾asp¡¿asp.net¿ª·¢Öг£¼û¹«¹²²¶»ñÒì³£·½Ê½×ܽá(
- ÆÀÂÛÁÐ±í£¨ÍøÓÑÆÀÂÛ½ö¹©ÍøÓѱí´ï¸öÈË¿´·¨£¬²¢²»±íÃ÷±¾Õ¾Í¬ÒâÆä¹Ûµã»ò֤ʵÆäÃèÊö£©
-
