{"id":1333,"date":"2011-01-13T15:56:48","date_gmt":"2011-01-13T06:56:48","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=1333"},"modified":"2017-01-31T19:46:07","modified_gmt":"2017-01-31T10:46:07","slug":"c-linq%eb%a5%bc-%ec%9d%b4%ec%9a%a9%ed%95%9c-xml-%ed%8c%8c%ec%8b%b1-%ec%bf%bc%eb%a6%ac","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=1333","title":{"rendered":"[C#] LINQ\ub97c \uc774\uc6a9\ud55c XML \ud30c\uc2f1 \ucffc\ub9ac"},"content":{"rendered":"<p><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=1328\">&#8220;XML\uc5d0\uc11c \uc6d0\ud558\ub294 \ub370\uc774\ud130 \uac80\uc0c9\ud558\uae30&#8221;<\/a>\uc5d0\uc11c XML\uc744 \ucffc\ub9ac\ud558\ub294 \ubc29\ubc95\uc744 \ud559\uc2b5\ud55c \ub4a4\uc5d0 LINQ\ub97c \uc774\uc6a9\ud574 XML\uc744 \ucffc\ub9ac \ud558\ub294 \ubc29\ubc95\ub3c4 \ud559\uc2b5\ud574 \ubcf4\uc558\uc2b5\ub2c8\ub2e4. <a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=1328\">&#8220;XML\uc5d0\uc11c \uc6d0\ud558\ub294 \ub370\uc774\ud130 \uac80\uc0c9\ud558\uae30&#8221;<\/a>\uc5d0\uc11c \uc0ac\uc6a9\ud55c \ub3d9\uc77c\ud55c XML \ub370\uc774\ud130\ub97c \uc774\uc6a9\ud588\uace0.. \uadf8 \ucffc\ub9ac \ub300\uc0c1\ub3c4 \ub3d9\uc77c\ud558\uac8c \ud588\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ud55c\ubc88 \ucffc\ub9ac \ub300\uc0c1\uc744 \uc0b4\ud3b4\ubcf4\uba74&#8230;<\/p>\n<ol>\n<li><strong>&lt;book&gt;\uc758 \uac1c\uc218\ub294?<\/strong><\/li>\n<li><strong>\ub450\ubc88\uc9f8 &lt;book&gt;\uc758 &lt;title&gt;\uc758 \uac12\uc740?<\/strong><\/li>\n<li><strong>\ub450\ubc88\uc9f8 &lt;book&gt;\uc758 genre\uc758 \uac12\uc740?<\/strong><\/li>\n<li><strong>\ub450\ubc88\uc9f8 &lt;book&gt;\uc758 &lt;author&gt;\uc758 &lt;first-name&gt;\uc758 \uac12\uc740?<\/strong><\/li>\n<\/ol>\n<p>\uc704\uc5d0 \ub300\ud55c \uacb0\uacfc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ol>\n<li><strong>3<\/strong><\/li>\n<li><strong>The Confidence Man<\/strong><\/li>\n<li><strong>novel<\/strong><\/li>\n<li><strong>Herman<\/strong><\/li>\n<\/ol>\n<p>Linq\ub97c \uc774\uc6a9\ud574 \uc704\uc758 \ucffc\ub9ac \ub300\uc0c1\uc758 \uacb0\uacfc\ub97c \uc5bb\uc5b4 \ub0b4\ub294 \ucf54\ub4dc\ub97c \ud558\ub098 \ud558\ub098 \ub4e4\uc5b4 \ubcf4\uae30\uc5d0 \uc55e\uc11c LINQ\ub97c XML\uc5d0 \uc801\uc6a9\ud558\uae30 \uc704\ud55c \uc900\ube44 \ucf54\ub4dc\uac00 \ud544\uc694\ud558\uba70 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>XmlTextReader reader = new XmlTextReader(\"books.xml\");\r\nXElement xml = XElement.Load(reader);\r\n\r\nvar books = from item in xml.Descendants(\"book\") select item;<\/pre>\n<p>\uc5ec\uae30\uc11c 4\ubc88 \ucf54\ub4dc\uac00 \ubc14\ub85c LINQ\uc785\ub2c8\ub2e4. \uc0ac\uc2e4.. XML\uc5d0\uc11c \uc6d0\ud558\ub294 \ub370\uc774\ud130\ub97c \ucffc\ub9ac \ud558\ub294 \uae30\ub2a5\uc740 LINQ\uc758 \uae30\ub2a5\uc911 \uc791\uc740 \ubd80\ubd84\uc744 \ucc28\uc9c0 \ud558\uace0 \uc788\uc5b4 \uadf8\ub9ac \ud06c\uac8c \ub290\uaef4\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubb50 \uc5ec\ud2bc&#8230;&#8230; \uc774\uc81c \uc6b0\ub9ac\uc758 \ubaa9\ud45c\ub97c \ud558\ub098 \ud558\ub098 \uc774\ub904\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uba3c\uc800 <strong>&#8220;&lt;book&gt;\uc758 \uac1c\uc218\ub294?&#8221;<\/strong>\uc5d0 \ub300\ud55c \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>Console.WriteLine(books.Count());<\/pre>\n<p>\ub2e4\uc74c\uc740 <strong>&#8220;\ub450\ubc88\uc9f8 &lt;book&gt;\uc758 &lt;title&gt;\uc758 \uac12\uc740?&#8221;<\/strong>\uc5d0 \ub300\ud55c \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>Console.WriteLine(\r\n\u00a0 \u00a0 books.ElementAt(1).Descendants(\"title\").ElementAt(0).Value\r\n);<\/pre>\n<p>\uadf8\ub9ac\uace0 \uc138\ubc88\uc9f8\ub85c <strong>&#8220;\ub450\ubc88\uc9f8 &lt;book&gt;\uc758 genre\uc758 \uac12\uc740?&#8221;<\/strong>\uc5d0 \ub300\ud55c \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>Console.WriteLine(books.ElementAt(1).Attribute(\"genre\").Value);<\/pre>\n<p>\ub05d\uc73c\ub85c &#8220;<strong>\ub450\ubc88\uc9f8 \u00a0&lt;book&gt;\uc758 &lt;author&gt;\uc758 &lt;first-name&gt;\uc758 \uac12\uc740?&#8221;<\/strong>\uc5d0 \ub300\ud55c \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>Console.WriteLine(\r\n\u00a0 \u00a0 books.ElementAt(1).Descendants(\"author\").Descendants(\"first-name\")\r\n\u00a0 \u00a0 \u00a0 \u00a0 .ElementAt(0).Value\r\n);<\/pre>\n<p>\uc81c\uac00 LINQ\ub97c \uc81c\ub300\ub85c \uc774\ud574\ud558\uace0 \uc788\uc9c0 \uc54a\uc740 \uc774\uc720\uc77c\uae4c\uc694? LINQ\ub97c \uc774\uc6a9\ud574 XML\uc5d0\uc11c \uc6d0\ud558\ub294 \ub370\uc774\ud130\ub97c \ucffc\ub9ac\ud558\ub294 \uac04\uacb0\ud558\uace0 \uc9c1\uad00\uc801\uc778 \ucf54\ub4dc\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc744\uae4c&#8230; \ud558\ub294 \uc0dd\uac01\uc774 \ub4ed\ub2c8\ub2e4. \ubc14\ub85c \uc774\ub7f0 \uc774\uc720\uac00 LINQ\uc758 \uc774\uc720 \uc911\uc5d0 \ud558\ub098\uc774\ub2c8\uae4c\uc694&#8230; \uc55e\uc11c \uc5b8\uae09\ud588\uc9c0\ub9cc.. XML\uc5d0\uc11c \uc6d0\ud558\ub294 \ub370\uc774\ud130\ub97c \ucffc\ub9ac \ud558\ub294 \uae30\ub2a5\uc740 LINQ\uc758 \uae30\ub2a5\uc911 \uc791\uc740 \ubd80\ubd84\uc744 \ucc28\uc9c0 \ud558\uace0 \uc788\ub294\ub4ef\ud558\uc5ec LINQ\ub97c \ud1b5\ud574 XML\uc744 \ucffc\ub9ac\ud558\ub294 \ubc29\uc2dd\uc740 \uadf8\ub9ac \ub9e4\ub825\uc801\uc774\ub77c\uace0 \ub290\uaef4\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;XML\uc5d0\uc11c \uc6d0\ud558\ub294 \ub370\uc774\ud130 \uac80\uc0c9\ud558\uae30&#8221;\uc5d0\uc11c XML\uc744 \ucffc\ub9ac\ud558\ub294 \ubc29\ubc95\uc744 \ud559\uc2b5\ud55c \ub4a4\uc5d0 LINQ\ub97c \uc774\uc6a9\ud574 XML\uc744 \ucffc\ub9ac \ud558\ub294 \ubc29\ubc95\ub3c4 \ud559\uc2b5\ud574 \ubcf4\uc558\uc2b5\ub2c8\ub2e4. &#8220;XML\uc5d0\uc11c \uc6d0\ud558\ub294 \ub370\uc774\ud130 \uac80\uc0c9\ud558\uae30&#8221;\uc5d0\uc11c \uc0ac\uc6a9\ud55c \ub3d9\uc77c\ud55c XML \ub370\uc774\ud130\ub97c \uc774\uc6a9\ud588\uace0.. \uadf8 \ucffc\ub9ac \ub300\uc0c1\ub3c4 \ub3d9\uc77c\ud558\uac8c \ud588\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ud55c\ubc88 \ucffc\ub9ac \ub300\uc0c1\uc744 \uc0b4\ud3b4\ubcf4\uba74&#8230; &lt;book&gt;\uc758 \uac1c\uc218\ub294? \ub450\ubc88\uc9f8 &lt;book&gt;\uc758 &lt;title&gt;\uc758 \uac12\uc740? \ub450\ubc88\uc9f8 &lt;book&gt;\uc758 genre\uc758 \uac12\uc740? \ub450\ubc88\uc9f8 &lt;book&gt;\uc758 &lt;author&gt;\uc758 &lt;first-name&gt;\uc758 \uac12\uc740? \uc704\uc5d0 \ub300\ud55c \uacb0\uacfc\ub294 \ub2e4\uc74c\uacfc &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=1333\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[C#] LINQ\ub97c \uc774\uc6a9\ud55c XML \ud30c\uc2f1 \ucffc\ub9ac&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[118,8],"tags":[14],"class_list":["post-1333","post","type-post","status-publish","format-standard","hentry","category-csharp","category-programming","tag-c"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1333"}],"version-history":[{"count":6,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1333\/revisions"}],"predecessor-version":[{"id":3269,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1333\/revisions\/3269"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1333"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}