{"id":9727,"date":"2025-03-28T10:56:40","date_gmt":"2025-03-28T01:56:40","guid":{"rendered":"https:\/\/www.auctionpro.co.kr\/?p=9727"},"modified":"2025-03-28T11:17:33","modified_gmt":"2025-03-28T02:17:33","slug":"c%ec%97%90%ec%84%9c-xml-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%a5%bc-%eb%b9%a0%eb%a5%b4%ea%b2%8c-%ec%a1%b0%ed%95%a9%ed%95%98%eb%8a%94-%eb%b0%a9%eb%b2%95","status":"publish","type":"post","link":"https:\/\/www.auctionpro.co.kr\/?p=9727","title":{"rendered":"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95"},"content":{"rendered":"\n<p><strong>LINQ to XML<\/strong>\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc774\uba70 \ud6a8\uacfc\uc801\uc785\ub2c8\ub2e4. LINQ to XML\uc740 XML \ubb38\uc11c\ub97c \uc9c1\uad00\uc801\uc73c\ub85c \ub2e4\ub8f0 \uc218 \uc788\uac8c \ud574\uc8fc\uc5b4 \ub370\uc774\ud130\ub97c \uc27d\uac8c \ud30c\uc2f1, \ucffc\ub9ac, \ubcc0\ud658, \uadf8\ub9ac\uace0 \uc870\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub2e4\uc74c\uc740 \uc8fc\uc694 \ubc29\ubc95\ub4e4\uc785\ub2c8\ub2e4:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>LINQ to XML \uc0ac\uc6a9<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\uac04\uacb0\ud55c \ucf54\ub4dc \uc791\uc131:<\/strong> XML \ub370\uc774\ud130\ub97c XDocument\ub098 XElement\ub85c \ub85c\ub4dc\ud55c \ud6c4, LINQ \ucffc\ub9ac\ub97c \uc774\uc6a9\ud574 \ud544\uc694\ud55c \ub370\uc774\ud130\ub97c \uc120\ud0dd\ud558\uac70\ub098 \uc870\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc608\uc81c \ucf54\ub4dc<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">using System;\nusing System.Linq;\nusing System.Xml.Linq;\n\nclass Program\n{\n    static void Main()\n    {\n        \/\/ \ub450 XML \ud30c\uc77c \ub85c\ub4dc\n        XDocument doc1 = XDocument.Load(\"file1.xml\");\n        XDocument doc2 = XDocument.Load(\"file2.xml\");\n\n        \/\/ \uc608: \ub450 \ubb38\uc11c\uc758 \"Item\" \uc694\uc18c\ub4e4\uc744 \ud558\ub098\uc758 XML\ub85c \uacb0\ud569\n        var combinedItems = new XElement(\"CombinedData\",\n            doc1.Root.Elements(\"Item\").Concat(doc2.Root.Elements(\"Item\"))\n        );\n\n        \/\/ \uacb0\uacfc\ub97c \ud30c\uc77c\ub85c \uc800\uc7a5\n        combinedItems.Save(\"combined.xml\");\n    }\n}\n<\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc774 \uc608\uc81c\uc5d0\uc11c\ub294 \ub450 XML \ud30c\uc77c\uc758 &#8220;Item&#8221; \uc694\uc18c\ub4e4\uc744 \ub2e8\uc21c\ud558\uac8c \uc774\uc5b4\ubd99\uc774\ub294 \ubc29\uc2dd\uc73c\ub85c \uc870\ud569\ud569\ub2c8\ub2e4. \uc0c1\ud669\uc5d0 \ub530\ub77c \ub354 \ubcf5\uc7a1\ud55c \uc870\uac74\uc774\ub098 \uc870\uc778(join) \uc5f0\uc0b0\uc744 \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ub300\uc6a9\ub7c9 \ub370\uc774\ud130\uc758 \uacbd\uc6b0 XmlReader \ud65c\uc6a9<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uba54\ubaa8\ub9ac \uc0ac\uc6a9\ub7c9\uc774 \ud070 XML \ub370\uc774\ud130\ub77c\uba74 <strong>XmlReader<\/strong>\ub97c \uc0ac\uc6a9\ud574 \uc2a4\ud2b8\ub9ac\ubc0d \ubc29\uc2dd\uc73c\ub85c \ub370\uc774\ud130\ub97c \uc77d\uc740 \ud6c4 \ud544\uc694\ud55c \ubd80\ubd84\ub9cc \uc120\ud0dd\ud558\uc5ec \uc870\ud569\ud558\ub294 \ubc29\ubc95\ub3c4 \uace0\ub824\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ubc29\uc2dd\uc740 \uba54\ubaa8\ub9ac \ud6a8\uc728\uc131\uc774 \ub192\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ubcd1\ub82c \ucc98\ub9ac \ubc0f \ucd5c\uc801\ud654<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ub9cc\uc57d \uc5ec\ub7ec XML \ud30c\uc77c\uc744 \ub3d9\uc2dc\uc5d0 \ucc98\ub9ac\ud574\uc57c \ud55c\ub2e4\uba74, <strong>Parallel.ForEach<\/strong>\ub098 \ube44\ub3d9\uae30 I\/O \uc791\uc5c5\uc744 \ud1b5\ud574 \ud30c\uc77c \uc785\ucd9c\ub825 \uc18d\ub3c4\ub97c \uac1c\uc120\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ub370\uc774\ud130\ub97c \uc870\ud569\ud558\uae30 \uc804, \ud544\uc694\ud55c \ub370\uc774\ud130\ub9cc \ubbf8\ub9ac \ud544\ud130\ub9c1\ud558\uac70\ub098 \uc778\ub371\uc2f1\ud558\ub294 \ubc29\ubc95\ub3c4 \uc804\uccb4 \ucc98\ub9ac \uc18d\ub3c4\ub97c \ud5a5\uc0c1\uc2dc\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\uc774\ucc98\ub7fc, XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub824\uba74 \uc0c1\ud669\uc5d0 \ub9de\uac8c LINQ to XML\uacfc XmlReader\ub97c \uc801\uc808\ud788 \uc120\ud0dd\ud558\uace0, \ud544\uc694\ud55c \uacbd\uc6b0 \ubcd1\ub82c \ucc98\ub9ac \ubc0f \ucd5c\uc801\ud654 \uae30\ubc95\uc744 \uc801\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Model \uc778 \uacbd\uc6b0<\/h2>\n\n\n\n<p>\ubaa8\ub378\ub85c \uc804\ud658\ud55c \ud6c4\uc5d0\ub294 LINQ\uc640 Dictionary \ub4f1 C#\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uc790\ub8cc\uad6c\uc870\uc640 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud574 \uc815\ud574\uc9c4 \ubaa8\ub378 \ub9ac\uc2a4\ud2b8 \uac04\uc758 \uc870\ud569\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uba87 \uac00\uc9c0 \uc811\uadfc \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">1. LINQ Join\/GroupJoin \ud65c\uc6a9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud2b9\uc815 \ud0a4\ub97c \uae30\uc900\uc73c\ub85c \uc870\ud569<\/strong><br>\ub450 \ubaa8\ub378 \ub9ac\uc2a4\ud2b8\uac00 \uacf5\ud1b5\uc758 \uc2dd\ubcc4\uc790(\uc608: ID)\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4\uba74, LINQ\uc758 <code>join<\/code> \ub610\ub294 <code>GroupJoin<\/code>\uc744 \uc0ac\uc6a9\ud558\uc5ec O(n) \ub610\ub294 O(n log n) \uc2dc\uac04\ubcf5\uc7a1\ub3c4\ub85c \ud6a8\uc728\uc801\uc778 \uc870\ud569\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">public class Model\n{\n    public int Id { get; set; }\n    public string Name { get; set; }\n}\n\n\/\/ \uc608\uc2dc: \ub450 \ub9ac\uc2a4\ud2b8\ub97c Id \uae30\uc900\uc73c\ub85c \uc870\uc778\nList&lt;Model&gt; list1 = new List&lt;Model&gt;\n{\n    new Model { Id = 1, Name = \"A\" },\n    new Model { Id = 2, Name = \"B\" }\n};\n\nList&lt;Model&gt; list2 = new List&lt;Model&gt;\n{\n    new Model { Id = 1, Name = \"C\" },\n    new Model { Id = 3, Name = \"D\" }\n};\n\nvar joinedModels = from m1 in list1\n                   join m2 in list2 on m1.Id equals m2.Id\n                   select new { Model1 = m1, Model2 = m2 };\n\nforeach (var pair in joinedModels)\n{\n    Console.WriteLine($\"{pair.Model1.Name} \uc640 {pair.Model2.Name} \uc870\ud569\");\n}\n<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2. LINQ\uc758 SelectMany\ub85c \ubaa8\ub4e0 \uc870\ud569 \uc0dd\uc131<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ubaa8\ub4e0 \uac00\ub2a5\ud55c \uc30d(Cartesian Product) \uc0dd\uc131<\/strong><br>\ud55c \ub9ac\uc2a4\ud2b8 \ub0b4\uc758 \ubaa8\ub4e0 \ub450 \uc694\uc18c \uc870\ud569\uc744 \uad6c\ud560 \ub54c <code>SelectMany<\/code>\ub97c \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">List&lt;Model&gt; models = new List&lt;Model&gt;\n{\n    new Model { Id = 1, Name = \"A\" },\n    new Model { Id = 2, Name = \"B\" },\n    new Model { Id = 3, Name = \"C\" }\n};\n\nvar allPairs = models.SelectMany(\n    (model, index) =&gt; models.Skip(index + 1),\n    (first, second) =&gt; new { First = first, Second = second }\n);\n\nforeach (var pair in allPairs)\n{\n    Console.WriteLine($\"{pair.First.Name} \uc640 {pair.Second.Name} \uc870\ud569\");\n}\n<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">3. Dictionary\ub97c \uc774\uc6a9\ud55c \uc778\ub371\uc2f1<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ube60\ub978 \uac80\uc0c9 \ubc0f \uc870\ud569<\/strong><br>\uc870\ud569\uc5d0 \uc0ac\uc6a9\ub420 \ud0a4 \uac12\uc774 \uc788\ub2e4\uba74, \ub9ac\uc2a4\ud2b8\ub97c <code>Dictionary<\/code>\ub85c \ubbf8\ub9ac \ubcc0\ud658\ud558\uc5ec O(1) \uac80\uc0c9\uc73c\ub85c \uc870\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">\/\/ Dictionary \uc0dd\uc131: key -&gt; Model\nvar modelDictionary = models.ToDictionary(m =&gt; m.Id);\n\n\/\/ \uc608\uc2dc: \ud2b9\uc815 \ud0a4 \uac12\uc744 \ud1b5\ud574 \ube60\ub978 \uc870\ud68c \ud6c4 \uc870\ud569 \ucc98\ub9ac\nif(modelDictionary.TryGetValue(2, out Model targetModel))\n{\n    \/\/ targetModel\uacfc \uc870\ud569\ud560 \ub2e4\ub978 \ubaa8\ub378 \ucc98\ub9ac\n    Console.WriteLine($\"\ucc3e\uc740 \ubaa8\ub378: {targetModel.Name}\");\n}\n<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">4. \ubcd1\ub82c \ucc98\ub9ac \ud65c\uc6a9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \ucc98\ub9ac<\/strong><br>\ubaa8\ub378 \ub9ac\uc2a4\ud2b8\uc758 \ud06c\uae30\uac00 \ub9e4\uc6b0 \ud070 \uacbd\uc6b0, <code>Parallel.ForEach<\/code>\ub098 PLINQ\ub97c \ud65c\uc6a9\ud558\uc5ec \ubcd1\ub82c\ub85c \uc870\ud569 \uc5f0\uc0b0\uc744 \uc218\ud589\ud558\uba74 \uc18d\ub3c4 \uac1c\uc120\uc5d0 \ub3c4\uc6c0\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">var parallelPairs = models.AsParallel().SelectMany(\n    (model, index) =&gt; models.Skip(index + 1),\n    (first, second) =&gt; new { First = first, Second = second }\n);\n\nparallelPairs.ForAll(pair =&gt;\n    Console.WriteLine($\"{pair.First.Name} \uc640 {pair.Second.Name} \uc870\ud569\")\n);\n<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ube44\uace0<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. SelectMany\uc758 \uad6c\uc870<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uccab \ubc88\uc9f8 \ub78c\ub2e4<\/strong>: <code>(model, index) =&gt; models.Skip(index + 1)<\/code>\n<ul class=\"wp-block-list\">\n<li><code>models<\/code> \ub9ac\uc2a4\ud2b8\uc758 \uac01 \uc694\uc18c\ub97c \uc21c\ud68c\ud558\uba74\uc11c, \ud604\uc7ac \uc694\uc18c\uc758 <strong>\ub2e4\uc74c<\/strong> \uc694\uc18c\ubd80\ud130 \ub05d\uae4c\uc9c0\uc758 \ubd80\ubd84 \ub9ac\uc2a4\ud2b8\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc608\ub97c \ub4e4\uc5b4, \uc778\ub371\uc2a4\uac00 0\uc778 \uc694\uc18c\uc5d0 \ub300\ud574 <code>models.Skip(1)<\/code>\uc744 \ud638\ucd9c\ud558\uba74, \uc778\ub371\uc2a4 1\ubd80\ud130 \ub05d\uae4c\uc9c0\uc758 \ubaa8\ub4e0 \uc694\uc18c\uac00 \ubc18\ud658\ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub97c \ud1b5\ud574, \ud604\uc7ac \uc694\uc18c\uc640 <strong>\uc790\uae30 \uc790\uc2e0\ubcf4\ub2e4 \ub4a4\uc5d0 \uc788\ub294 \uc694\uc18c\ub4e4<\/strong>\ub9cc\uc744 \uc870\ud569 \ub300\uc0c1\uc73c\ub85c \ud558\uc5ec, \uc911\ubcf5 \uc30d\uc774\ub098 \uc790\uae30 \uc790\uc2e0\uacfc\uc758 \uc870\ud569\uc774 \uc0dd\uae30\uc9c0 \uc54a\uac8c \ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ub450 \ubc88\uc9f8 \ub78c\ub2e4<\/strong>: <code>(first, second) =&gt; new { First = first, Second = second }<\/code>\n<ul class=\"wp-block-list\">\n<li>\uccab \ubc88\uc9f8 \ub78c\ub2e4\uc5d0\uc11c \ubc18\ud658\ub41c \uac01 \uc30d\uc758 \uc694\uc18c\ub4e4(<code>first<\/code>\uc640 <code>second<\/code>)\uc744 \ubc1b\uc544, \uc0c8\ub85c\uc6b4 \uc775\uba85 \uac1d\uccb4\ub97c \ub9cc\ub4ed\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774 \uac1d\uccb4\ub294 \ub450 \uc18d\uc131 <code>First<\/code>\uc640 <code>Second<\/code>\ub97c \uac00\uc9c0\uace0 \uc788\uc73c\uba70, \uac01\uac01 \uc870\ud569\uc758 \uccab \ubc88\uc9f8 \uc694\uc18c\uc640 \ub450 \ubc88\uc9f8 \uc694\uc18c\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\ub450 \ud074\ub798\uc2a4\ub294 \ud0c0\uc785\uc740 \ub2e4\ub974\uc9c0\ub9cc, <code>ModelA.Id<\/code>\uc640 <code>ModelB.Code<\/code>\uac00 \ub3d9\uc77c\ud55c \uac12\uc77c \ub54c \ub450 \uac1d\uccb4\ub97c \ub9e4\uce6d\uc2dc\ud0ac \uc218 \uc788\ub2e4\uace0 \ud558\uba74, LINQ Join\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/h4>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \" >List&lt;ModelA&gt; listA = new List&lt;ModelA&gt;\n{\n    new ModelA { Id = 1, Name = \"Alice\" },\n    new ModelA { Id = 2, Name = \"Bob\" }\n};\n\nList&lt;ModelB&gt; listB = new List&lt;ModelB&gt;\n{\n    new ModelB { Code = 1, Description = \"Description for Alice\" },\n    new ModelB { Code = 3, Description = \"Description for Charlie\" }\n};\n\nvar joinedResult = from a in listA\n                   join b in listB on a.Id equals b.Code\n                   select new { a.Name, b.Description };\n\nforeach (var item in joinedResult)\n{\n    Console.WriteLine($\"{item.Name} - {item.Description}\");\n}\n<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>LINQ to XML\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc774\uba70 \ud6a8\uacfc\uc801\uc785\ub2c8\ub2e4. LINQ to XML\uc740 XML \ubb38\uc11c\ub97c \uc9c1\uad00\uc801\uc73c\ub85c \ub2e4\ub8f0 \uc218 \uc788\uac8c \ud574\uc8fc\uc5b4 \ub370\uc774\ud130\ub97c \uc27d\uac8c \ud30c\uc2f1, \ucffc\ub9ac, \ubcc0\ud658, \uadf8\ub9ac\uace0 \uc870\ud569\ud560 \uc218 <a class=\"mh-excerpt-more\" href=\"https:\/\/www.auctionpro.co.kr\/?p=9727\" title=\"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[258,10],"tags":[],"class_list":["post-9727","post","type-post","status-publish","format-standard","hentry","category-c-linq","category-devc"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95 - AuctionPro<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.auctionpro.co.kr\/?p=9727\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95 - AuctionPro\" \/>\n<meta property=\"og:description\" content=\"LINQ to XML\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc774\uba70 \ud6a8\uacfc\uc801\uc785\ub2c8\ub2e4. LINQ to XML\uc740 XML \ubb38\uc11c\ub97c \uc9c1\uad00\uc801\uc73c\ub85c \ub2e4\ub8f0 \uc218 \uc788\uac8c \ud574\uc8fc\uc5b4 \ub370\uc774\ud130\ub97c \uc27d\uac8c \ud30c\uc2f1, \ucffc\ub9ac, \ubcc0\ud658, \uadf8\ub9ac\uace0 \uc870\ud569\ud560 \uc218 [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.auctionpro.co.kr\/?p=9727\" \/>\n<meta property=\"og:site_name\" content=\"AuctionPro\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-28T01:56:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-28T02:17:33+00:00\" \/>\n<meta name=\"author\" content=\"golgol\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"golgol\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727\"},\"author\":{\"name\":\"golgol\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#\\\/schema\\\/person\\\/d3dbae599b06cd55f5b14a3e2116f7a2\"},\"headline\":\"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95\",\"datePublished\":\"2025-03-28T01:56:40+00:00\",\"dateModified\":\"2025-03-28T02:17:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727\"},\"wordCount\":57,\"commentCount\":0,\"articleSection\":[\"[C#] LINQ\",\"[Dev]C#\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727\",\"url\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727\",\"name\":\"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95 - AuctionPro\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#website\"},\"datePublished\":\"2025-03-28T01:56:40+00:00\",\"dateModified\":\"2025-03-28T02:17:33+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#\\\/schema\\\/person\\\/d3dbae599b06cd55f5b14a3e2116f7a2\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?p=9727#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#website\",\"url\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/\",\"name\":\"AuctionPro\",\"description\":\"\uc625\uc158\ud504\ub85c\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/#\\\/schema\\\/person\\\/d3dbae599b06cd55f5b14a3e2116f7a2\",\"name\":\"golgol\",\"url\":\"https:\\\/\\\/www.auctionpro.co.kr\\\/?author=6\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95 - AuctionPro","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.auctionpro.co.kr\/?p=9727","og_locale":"ko_KR","og_type":"article","og_title":"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95 - AuctionPro","og_description":"LINQ to XML\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc774\uba70 \ud6a8\uacfc\uc801\uc785\ub2c8\ub2e4. LINQ to XML\uc740 XML \ubb38\uc11c\ub97c \uc9c1\uad00\uc801\uc73c\ub85c \ub2e4\ub8f0 \uc218 \uc788\uac8c \ud574\uc8fc\uc5b4 \ub370\uc774\ud130\ub97c \uc27d\uac8c \ud30c\uc2f1, \ucffc\ub9ac, \ubcc0\ud658, \uadf8\ub9ac\uace0 \uc870\ud569\ud560 \uc218 [...]","og_url":"https:\/\/www.auctionpro.co.kr\/?p=9727","og_site_name":"AuctionPro","article_published_time":"2025-03-28T01:56:40+00:00","article_modified_time":"2025-03-28T02:17:33+00:00","author":"golgol","twitter_card":"summary_large_image","twitter_misc":{"\uae00\uc4f4\uc774":"golgol","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.auctionpro.co.kr\/?p=9727#article","isPartOf":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9727"},"author":{"name":"golgol","@id":"https:\/\/www.auctionpro.co.kr\/#\/schema\/person\/d3dbae599b06cd55f5b14a3e2116f7a2"},"headline":"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95","datePublished":"2025-03-28T01:56:40+00:00","dateModified":"2025-03-28T02:17:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9727"},"wordCount":57,"commentCount":0,"articleSection":["[C#] LINQ","[Dev]C#"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.auctionpro.co.kr\/?p=9727#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.auctionpro.co.kr\/?p=9727","url":"https:\/\/www.auctionpro.co.kr\/?p=9727","name":"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95 - AuctionPro","isPartOf":{"@id":"https:\/\/www.auctionpro.co.kr\/#website"},"datePublished":"2025-03-28T01:56:40+00:00","dateModified":"2025-03-28T02:17:33+00:00","author":{"@id":"https:\/\/www.auctionpro.co.kr\/#\/schema\/person\/d3dbae599b06cd55f5b14a3e2116f7a2"},"breadcrumb":{"@id":"https:\/\/www.auctionpro.co.kr\/?p=9727#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.auctionpro.co.kr\/?p=9727"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.auctionpro.co.kr\/?p=9727#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/www.auctionpro.co.kr\/"},{"@type":"ListItem","position":2,"name":"C#\uc5d0\uc11c XML \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \uc870\ud569\ud558\ub294 \ubc29\ubc95"}]},{"@type":"WebSite","@id":"https:\/\/www.auctionpro.co.kr\/#website","url":"https:\/\/www.auctionpro.co.kr\/","name":"AuctionPro","description":"\uc625\uc158\ud504\ub85c","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.auctionpro.co.kr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Person","@id":"https:\/\/www.auctionpro.co.kr\/#\/schema\/person\/d3dbae599b06cd55f5b14a3e2116f7a2","name":"golgol","url":"https:\/\/www.auctionpro.co.kr\/?author=6"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9727","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9727"}],"version-history":[{"count":0,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9727\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9727"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}