{"id":393,"date":"2025-03-05T09:55:41","date_gmt":"2025-03-05T00:55:41","guid":{"rendered":"https:\/\/xslt.auctionpro.co.kr\/?page_id=393"},"modified":"2025-03-05T09:55:41","modified_gmt":"2025-03-05T00:55:41","slug":"xslcompiledtransform-%eb%a9%94%eb%aa%a8%eb%a6%ac","status":"publish","type":"page","link":"https:\/\/xslt.auctionpro.co.kr\/?page_id=393","title":{"rendered":"XslCompiledTransform  \uba54\ubaa8\ub9ac"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Overview : XML\uacfc XSLT\ub97c \ubaa8\ub450 \uba54\ubaa8\ub9ac \ub0b4\uc5d0\uc11c \ube60\ub974\uac8c \ucc98\ub9ac\ud558\ub294 \uc608\uc81c\uc785\ub2c8\ub2e4. \uc774 \uc608\uc81c\uc5d0\uc11c\ub294 XslCompiledTransform\uc744 \uc0ac\uc6a9\ud558\uc5ec XSLT\ub97c \ubbf8\ub9ac \ucef4\ud30c\uc77c\ud55c \ud6c4, StringReader\uc640 StringWriter\ub97c \uc0ac\uc6a9\ud574 \uba54\ubaa8\ub9ac \uc2a4\ud2b8\ub9bc\uc5d0\uc11c \uc77d\uace0 \uc4f0\ub3c4\ub85d \uad6c\ud604<\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \" >using System;\nusing System.IO;\nusing System.Xml;\nusing System.Xml.Xsl;\n\nclass Program\n{\n    static void Main()\n    {\n        \/\/ XML \uc785\ub825 (\uba54\ubaa8\ub9ac \ub0b4 \ubb38\uc790\uc5f4)\n        string combinedResponse = \"\uc5ec\uae30\uc5d0 \uc2e4\uc81c XML \ub370\uc774\ud130\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4.\";\n        string dpwXml = $\"&lt;DATA&gt;{combinedResponse}&lt;\/DATA&gt;\";\n\n        string Notice = \"Note\";\n\t\tstring TR = \"OK\";\n\t\tstring Hide =\"Y\";\n\t\tstring ID =\"ID223\";\n\n        \/\/ XSLT \ud30c\uc77c \uacbd\ub85c (\uc11c\ubc84\uc0c1\uc758 \ud30c\uc77c \uacbd\ub85c)\n        string xsltFilePath = \"~\/XslTemplates\/transform.xslt\";\n\n        \/\/ \ubcc0\ud658 \uacb0\uacfc\ub97c \uc800\uc7a5\ud560 \ubcc0\uc218\n        string transformedContent = string.Empty;\n\n        \/\/ XML\uc744 \uba54\ubaa8\ub9ac \ub0b4\uc5d0\uc11c \uc77d\uae30 \uc704\ud55c XmlReader \uc0dd\uc131\n        using (StringReader xmlStringReader = new StringReader(dpwXml))\n        using (XmlReader xmlReader = XmlReader.Create(xmlStringReader))\n        {\n            \/\/ XSLT \ub85c\ub4dc (\uc2a4\ud06c\ub9bd\ud2b8 \ubc0f document() \ud568\uc218 \ud65c\uc131\ud654)\n            XsltSettings xsltSettings = new XsltSettings(enableDocumentFunction: true, enableScript: true);\n            XslCompiledTransform xslt = new XslCompiledTransform();\n            \/\/ \ud30c\uc77c\uc5d0\uc11c XSLT\ub97c \uc77d\uc5b4\ub4e4\uc784 (\uc11c\ubc84 \ub9f5\ud551\uc744 \ud1b5\ud574 \uc2e4\uc81c \uacbd\ub85c \uc0ac\uc6a9)\n            string xsltFullPath = System.Web.HttpContext.Current.Server.MapPath(xsltFilePath);\n            xslt.Load(xsltFullPath, xsltSettings, new XmlUrlResolver());\n\n            \/\/ XSLT \uc778\uc790 \uc124\uc815\n            XsltArgumentList xslArg = new XsltArgumentList();\n            xslArg.AddParam(\"Notice\", \"\", Notice);\n            xslArg.AddParam(\"TR\", \"\", TR);\n            xslArg.AddParam(\"Hide\", \"\", Hide);\n            xslArg.AddParam(\"ID\", \"\", ID);\n\n            \/\/ \uacb0\uacfc\ub97c \uba54\ubaa8\ub9ac \ub0b4 StringWriter\uc5d0 \ucd9c\ub825\n            using (StringWriter sw = new StringWriter())\n            using (XmlWriter resultWriter = XmlWriter.Create(sw, xslt.OutputSettings))\n            {\n                xslt.Transform(xmlReader, xslArg, resultWriter);\n                transformedContent = sw.ToString();\n            }\n        }\n\n        \/\/ \uacb0\uacfc \ucd9c\ub825 \ud639\uc740 \ud6c4\uc18d \ucc98\ub9ac\n        Console.WriteLine(transformedContent);\n    }\n}\n<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Overview : XML\uacfc XSLT\ub97c \ubaa8\ub450 \uba54\ubaa8\ub9ac \ub0b4\uc5d0\uc11c \ube60\ub974\uac8c \ucc98\ub9ac\ud558\ub294 \uc608\uc81c\uc785\ub2c8\ub2e4. \uc774 \uc608\uc81c\uc5d0\uc11c\ub294 XslCompiledTransform\uc744 \uc0ac\uc6a9\ud558\uc5ec XSLT\ub97c \ubbf8\ub9ac \ucef4\ud30c\uc77c\ud55c \ud6c4, StringReader\uc640 StringWriter\ub97c \uc0ac\uc6a9\ud574 \uba54\ubaa8\ub9ac \uc2a4\ud2b8\ub9bc\uc5d0\uc11c \uc77d\uace0 \uc4f0\ub3c4\ub85d \uad6c\ud604<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-393","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/xslt.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xslt.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/xslt.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/xslt.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xslt.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=393"}],"version-history":[{"count":1,"href":"https:\/\/xslt.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/393\/revisions"}],"predecessor-version":[{"id":394,"href":"https:\/\/xslt.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/393\/revisions\/394"}],"wp:attachment":[{"href":"https:\/\/xslt.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}