|
|
| ¹Ì´Ï |
2004-12-02 22:17:46, VIEW : 5,426 |
|
|
|
|
6. ¸¶Ä¡¸é¼
MSSQLÀÇ ¸î°¡Áö »çÇ×À» °£´ÜÇÏ°Ô ¼³¸íµå¸®°í MSSQL¿¡¼ÀÇ
XML¿¡ ´ëÇÑ °Á¸¦ ¸¶Ä¡µµ·Ï ÇϰڽÀ´Ï´Ù.
ÀÚ! ¿À´ÃÀº ¿ì¸®°¡ °è¼Ó »ç¿ëÇÑ FOR XML¿¡ ´ëÇØ¼ Á¶±Ý »ìÆì º¸±¸¿ä..
OPEN XML¿¡ ´ëÇØ¼µµ ¾ê±â¸¦ Á» ÇÒ²²¿ä..
FOR XML¿¡ ´ëÇÏ¿©..
¿ì¸®°¡ »ç¿ëÇÑ ¿¹Á¦¸¦ º¸¸é ¸ðµÎ µÞºÎºÐ¿¡
FOR XML AUTO
¶ó°í ¾²¿©Á® ÀÖ½À´Ï´Ù.
¾Õ°Á¿¡¼ Çѹø¾¿ È®ÀÎÇØ º¸¼¼¿ä.. ¸ðµÎ ±×·²°Ì´Ï´Ù.
ÀÌ FOR XMLÀº °£´ÜÈ÷ ¸»ÇÏ¸é ³»°¡ ¿øÇÏ´Â Äõ¸®ÀÇ °á°ú°ªÀÌ XMLÇü½ÄÀ¸·Î ¸®Åϵȴٴ °Ì´Ï´Ù.
±×·³ °á°ú¸¦ ¸®ÅÏÇÏ´Â, Áï µ¥ÀÌÅ͸¦ °¡Á®¿À´Â SQL¹®Àº ¹«¾ùÀϱî¿ä??
´ç¿¬È÷ SELECT¹®ÀÔ´Ï´Ù. °ð, FOR XMLÀº Insert, Update, Deleteµî¿¡¼ »ç¿ëÇÒ ¼ö ¾ø´Ù´Â °Ì´Ï´Ù.
¿¡ÀÌ~~ ±×·³ MSSQLÀº °á°ú¸¦ °¡Á®¿À´Âµ¥¸¸ XMLÀ» »ç¿ëÇϰí, XML·Î »ðÀÔ, ¼öÁ¤, »èÁ¦´Â ¸øÇÑ´Ù´Â °ÅÀݾÆ!!!
ÇÏ°í »ý°¢ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸¿ä...
±×·±ÀÏÀ» Á¦ÇÑÀûÀ¸·Î³ª¸¶ ¼öÇàÇϱâ À§Çؼ OPEN XMLÀ̶õ °ÍÀÌ Á¦°øµÇ°í ÀÖ½À´Ï´Ù.
OPEN XML¿¡ ´ëÇØ¼´Â Á» ÀÖ´Ù°¡ »ìÆìº¸±¸¿ä.. ÀÏ´Ü FOR XMLÀ̾߱⠺ÎÅÒ ÇϰڽÀ´Ï´Ù.
FOR XMLÀº °á°ú¸¦ °¡Á®¿Â´Ù°í Çß½À´Ï´Ù. ±× °á°ú¸¦ ¾î¶² Çü½ÄÀ¸·Î °¡Á®¿À´À³Ä¿¡ µû¶ó¼ 3°¡Áö À¯ÇüÀÌ ÀÖ½À´Ï´Ù.
ù°·Î °è¼Ó »ç¿ëÇß´ø AUTO ¸ðµåÀÔ´Ï´Ù.
´ëºÎºÐ FOR XML AUTO¶ó°í ¸¹ÀÌ ½è¾úÁÒ...
À̰ÍÀº °á°ú¸¦ ÀÚµ¿À¸·Î ¸¸µé¾îÁÖ¶ó´Â ÀǹÌÀÔ´Ï´Ù.
Áï, ¾Õ¿¡¼µµ ¼³¸íÇßµíÀÌ ±âº»ÀûÀ¸·Î Å×À̺íÀº ¿¤¸®¸ÕÆ®¿¡ Çʵå´Â ¼Ó¼º¿¡ ¸ÅÇÎÀÌ µÈ´Ù°í Çß¾úÁÒ..
¶Ç´Â XDR ½ºÅ°¸¶¸¦ ÀÌ¿ëÇØ º¯ÇüµÈ ÇüÅ·Π°¡Á®¿Ã ¼öµµ ÀÖ½À´Ï´Ù.
¾Õ¿¡¼ ÇØº¸¾Ò´ø »çÇ×ÀÔ´Ï´Ù. Çѹø¸¸ ´õ È®ÀÎÇØ º¼±î¿ä?
SELECT Customers.CustomerID, Orders.OrderID, Customers.ContactName
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
FOR XML AUTO
ÁúÀǾ Á» º¹ÀâÇϱä ÇÏÁö¸¸ ÃæºÐÈ÷ ÀÌÇØÇÒ ¼ö ÀÖÁÒ..
Customers Å×À̺í°ú Orders Å×ÀÌºí¿¡¼ CustomerID°¡ °°Àº °Í¸¸ XML ÇüÅ·Π°¡Á®¿É´Ï´Ù.
ÅÛÇø´À» »ý¼ºÇØ º¸ÁÒ..
ÆÄÀϸí : ForXML1.xml
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT Customers.CustomerID, Orders.OrderID, Customers.ContactName
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
FOR XML AUTO
</sql:query>
</ROOT>
ÀÌÁ¦´Â ½ÇÇàÇÏ´Â ¹æ¹ýÀ» ±»ÀÌ ¼³¸íÇÏÁö ¾Ê¾Æµµ µÇ°ÚÁÒ...
http://localhost/mini/template/ForXML1.xml
¿øÇÏ´Â ÇüÅ·Π°á°ú°¡ ³ª¿É´Ï´Ù. Å×À̺íÀº ¿¤¸®¸ÕÆ®¿¡ Çʵå´Â ¼Ó¼º¿¡...
±×·±µ¥ <Customers> ¿¤¸®¸ÕÆ®°¡ <Orders> ¿¤¸®¸ÕÆ®ÀÇ ºÎ¸ð ¿¤¸®¸ÕÆ® ÇüÅ·ΠµÑ·¯½Î°í ÀÖÁÒ..
±×°ÍÀº SELECT ´ÙÀ½¿¡ CustomersºÎÅÍ °¡Á®¿Àµµ·Ï µÇ¾î Àֱ⠶§¹®ÀÔ´Ï´Ù.
SELECT Orders.OrderID, Customers.ContactName, Customers.CustomerID
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
FOR XML AUTO
ÀÌ·¸°Ô ¹Ù²î¸é <Orders> ¿¤¸®¸ÕÆ®°¡ <Customers>ÀÇ ºÎ¸ð¿¤¸®¸ÕÆ®°¡ µË´Ï´Ù.
µÎ ¹øÂ° FOR XMLÀÇ Çü½ÄÀ¸·Î RAW ¸ðµå°¡ ÀÖ½À´Ï´Ù.
À̰ÍÀº °á°ú°ªÀÇ ¿¤¸®¸ÕÆ® À̸§Àº <row>°¡ µÇ±¸¿ä.
³ª¸ÓÁö °ªÀº ¸ðµÎ ¼Ó¼ºÀ¸·Î °¡Á®¿É´Ï´Ù.
À§ÀÇ ÁúÀǾ RAW ¸ðµå·Î ¹Ù²Ù¾î º¸ÁÒ..
ÆÄÀϸí : ForXML2.xml
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT Customers.CustomerID, Orders.OrderID, Customers.ContactName
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
FOR XML RAW
</sql:query>
</ROOT>
°á°ú¸¦ »ìÆìº¸ÁÒ..
http://localhost/mini/template/ForXML2.xml
AUTO¸ðµå¿ÍÀÇ Â÷À̸¦ Á» ¾Æ½Ã°ÚÁÒ..
¸¶Áö¸·À¸·Î EXPLICIT ¸ðµå°¡ ÀÖ½À´Ï´Ù.
¿ì¸®°¡ XML ¹®¼ÀÇ ¸ð¾çÀ» ÁöÁ¤Çؼ °á°ú¸¦ °¡Á®¿Àµµ·Ï ÇÑ´ä´Ï´Ù.
¹¹.. ¹ü¿ëÅ×À̺íÀΰ¡¸¦ ¸¸µé¾î¼ °Å±â¿¡ ¿¤¸®¸ÕÆ®À̸§, ű׹øÈ£, ¼Ó¼ºÀ̸§µîÀ» ÁöÁ¤Çؼ °á°ú¸¦ °¡Á®¿Àµµ·Ï ÇÕ´Ï´Ù.
±Ùµ¥ Á» º¹Àâ½Ã·´´õ¶ó±¸¿ä.. ÇØ¼ Àúµµ ÃæºÐÈ÷ ÀÌÇØÇÏÁö´Â ¸øÇß½À´Ï´Ù.
MSSQLÀÇ ¿Â¶óÀεµ¿ò¸»¿¡ º¸¸é ÀÚ¼¼È÷ ¼³¸íµÇ¾î ÀÖÀ¸´Ï °ü½ÉÀÖ´Â ºÐÀº °Å±â¿¡¼ È®ÀÎÇØ º¸¼¼¿ä..
ÀÌ»óÀÌ FOR XML¿¡ ´ëÇÑ ¼³¸íÀ̾ú½À´Ï´Ù.
¾Æ¸¶ ¾ÆÁ÷±îÁö´Â ´ëºÎºÐÀÇ »ç¿ëÀÌ AUTO ¸ðµå·Î ÇØ°áÇÒ ¼ö ÀÖÀ» °Å¶ó°í »ý°¢ÇÕ´Ï´Ù.
OPEN XML¿¡ ´ëÇÏ¿©..
Á¦°¡ »ùÇà »ç¿ëÇÑ ¿¹Á¦¸¦ ¹¾î³õ¾Ò½À´Ï´Ù. ÇÊ¿äÇϽźÐÀº ÀÚ·á¸ðÀ½¿¡¼ ¹Þ¾Æ¼ »ç¿ëÇÏ½Ã±æ ¹Ù¶ø´Ï´Ù.
OPEN XMLÀ̶õ °ÍÀº XML¹®¼¸¦ Å×À̺íÀÌ ºä¿Í °°Àº ÇüÅ·Π»ý°¢ÇÏ°í ¿ì¸®°¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù.
OPEN XMLÀ» »ç¿ëÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ÇØ¾ß ÇÕ´Ï´Ù..
¸ÕÀú XML ¹®¼¸¦ ¿¾î¼ DOM ±¸Á¶·Î ÆÄ½ÌÇÕ´Ï´Ù.
±×¸®°í OPEN XMLÀ» ÅëÇØ¼ SQL¹®À» ½ÇÇàÇÕ´Ï´Ù.
¸¶Áö¸·À¸·Î XML ¹®¼¸¦ Á¦°ÅÇÕ´Ï´Ù.
ÀÚ ±×·³ ¿¹Á¦¸¦ º¸¸é¼ ¼³¸íÀ» ÇÏÁÒ..
Àú´Â MSSQL¿¡ XMLÇüÅ·ΠÇàÀ» »ðÀÔÇϱâ À§Çؼ ÀÌ ¿¹Á¦¸¦ »ç¿ëÇß½À´Ï´Ù.
¸ÕÀú »ç¿ëÇÒ Å×À̺íÀ» ¸¸µì´Ï´Ù.
CREATE TABLE XMLDeveloper (uname varchar(20), email varchar(50), company varchar(50))
Äõ¸®ºÐ¼®±â¿¡¼ À§Ã³·³ ÀÔ·ÂÇÏ¸é µÇ°ÚÁÒ.. ¹°·Ð µ¥ÀÌÅͺ£À̽º´Â NorthWindÀÔ´Ï´Ù.
±×¸®°í ³ª¼ XMLÀ» »ðÀÔÇϱâ À§ÇÑ ÀúÀå ÇÁ·Î½ÃÀú¸¦ Çϳª ¸¸µì´Ï´Ù.
¿©±â¿¡¼ OPEN XMLÀÌ »ç¿ëµË´Ï´Ù. ¸ÕÀú ¼Ò½º¸¦ º¸°í ¼³¸íÀ» µå¸®µµ·Ï ÇÏÁÒ.
CREATE PROC sp_insert_XMLDeveloper
@member ntext
AS
DECLARE @hDoc int
EXEC sp_xml_preparedocument @hDoc OUTPUT, @member
INSERT INTO XMLDeveloper
SELECT *
FROM OPENXML (@hDoc, '/XMLDeveloper') WITH XMLDeveloper
EXEC sp_xml_removedocument @hDoc
Á» ¹®ÀåÀÌ ¾î·Æ°Ô ´À²¸ÁöÁö¿ä..
¸ÕÀú ÀúÀåÇÁ·Î½ÃÀúÀÇ À̸§Àº sp_insert_XMLDeveloperÀÔ´Ï´Ù.
±×·³ ¿ì¸®´Â
exec sp_insert_XMLDeveloper
¶ó°í ½ÇÇàÇÏ¸é µÇ°ÚÁÒ..
±×¸®°í ¸Å°³º¯¼ö°¡ ÀÖ½À´Ï´Ù. @member¶ó°í µÇ¾î ÀÖÁÒ.
±×´ÙÀ½¿¡ º¸¸é hDocÀ̶ó´Â ÇϳªÀÇ º¯¼ö¸¦ ¼±¾ðÇÕ´Ï´Ù.
ÀÚ ¿©±â±îÁö´Â º° ¹®Á¦°¡ ¾ø½À´Ï´Ù. ÀϹÝÀûÀÎ ÀúÀåÇÁ·Î½ÃÀúÀÇ ÇüÅ´ϱî¿ä..
±×·³ º»·ÐÀº ´ÙÀ½ºÎÅÍÀÔ´Ï´Ù.
Á¦°¡ À§¿¡¼ OPEN XMLÀ» »ç¿ëÇϱâ À§Çؼ´Â 3°¡Áö ´Ü°è°¡ ÇÊ¿äÇÏ´Ù°í ÇßÁÒ.
´Ù½Ã Çѹø Àû¾îº¼±î¿ä??
1. XML ¹®¼¸¦ ¿¾î¼ DOM ±¸Á¶·Î ÆÄ½ÌÇÕ´Ï´Ù.
2. OPEN XMLÀ» ÅëÇØ¼ SQL¹®À» ½ÇÇàÇÕ´Ï´Ù.
3. XML ¹®¼¸¦ Á¦°ÅÇÕ´Ï´Ù.
¿¹¹®¿¡¼ Çϳª¾¿ ¸ÅνÃÄÑ º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù.
1. EXEC sp_xml_preparedocument @hDoc OUTPUT, @member
2. INSERT INTO XMLDeveloper
SELECT *
FROM OPENXML (@hDoc, '/XMLDeveloper') WITH XMLDeveloper
3. EXEC sp_xml_removedocument @hDoc
1¹øÂ°¸¦ º¸¸é sp_xml_preparedocument ¶ó´Â ÀúÀå ÇÁ·Î½ÃÀú¸¦ ÅëÇØ¼ memberº¯¼öÀÇ ³»¿ëÀ»
Àоî¿É´Ï´Ù.
2¹øÂ°¿¡¼´Â Àоî¿Â ¹®¼¿¡¼ <XMLDeveloper> ¿¤¸®¸ÕÆ® ÀÌÇϸ¦ XMLDeveloper Å×ÀÌºí¿¡ »ðÀÔÇϰí ÀÖ½À´Ï´Ù.
3¹øÂ°¿¡¼ Àоî¿Â XML¹®¼¸¦ ¸Þ¸ð¸®¿¡¼ sp_xml_removedocument ÀúÀå ÇÁ·Î½ÃÀú¸¦ ÅëÇØ¼ Á¦°ÅÇϰí ÀÖ½À´Ï´Ù.
¾î¶§¿ä?? ´ë·«ÀûÀ¸·Î ¹«½¼ ¸»ÀÎÁö ¾Ë°Ú¾î¿ä??.
ÀÏ´Ü ÀÌÁ¤µµ¸¸ ¼³¸íÇÒ²²¿ä... ±×³É ¸À¸¸ º¸¿©µå¸³´Ï´Ù. ...
±×·³.. ÀÌ°É ¾î¶»°Ô »ç¿ëÇÒ ¼ö ÀÖÀ»±î¿ä??
XML ÅÛÇø´À» Çϳª ¸¸µé¸é µË´Ï´Ù. °Å±â¿¡¼ À§¿¡¼ »ý¼ºÇÑ ÀúÀåÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇØÁÖ¸é µÇ°ÚÁÒ..
±×·³ ´ÙÀ½Ã³·³ ¸¸µé¸é µÇ°ÚÁÒ..
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
exec sp_insert_XMLDeveloper @member
</sql:query>
</root>
±×·±µ¥.. @member°¡ °ªÀÌ ¾øÀ» °æ¿ì¿¡´Â ¿¡·¯°¡ ¹ß»ýÇÒ °Å¶õ ¸»ÀÌÁÒ..
±×·¡¼ <sql:header>¸¦ ÀÌ¿ëÇØ¼ ¸Å°³º¯¼öÀÇ ±âº»°ªÀ» ¼³Á¤ÇØ ÁÝ´Ï´Ù. ´ÙÀ½Ã³·³ ¸»ÀÌÁÒ..
ÆÄÀϸí : member.xml
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:header>
<sql:param name="member"><XMLDeveloper/></sql:param>
</sql:header>
<sql:query>
exec sp_insert_XMLDeveloper @member
</sql:query>
</root>
ÈÞ~~ ¿©±â±îÁö´Â ¿©Â÷ ¿©Â÷ ¿Ô½À´Ï´Ù. ÀÌÁ¦´Â ±âÁ¸ÀÇ HTML¹®¼¿¡¼ <form>À» ÀÌ¿ëÇØ¼ member.xml·Î µ¥ÀÌÅ͸¦ Àü¼ÛÇØ º¸°Ú½À´Ï´Ù.
HTML ¹®¼ÀÇ ±âº»Àº ´ÙÀ½°ú °°½À´Ï´Ù.
ÆÄÀϸí : mssql_insert.htm
<html>
<head>
<script>
function Insert_Member(mem, uname, email, company) {
mem.value = '<XMLDeveloper uname="' + uname.value +
'" email="' + email.value +
'" company="' + company.value + '"/>';
}
</script>
</head>
<body>
<table>
<form method="post"action="http://localhost/mini/template/member.xml">
<input type="hidden" id="mem" name="member">
<input type="hidden" name="contenttype" value="text/html">
<tr>
<td>À̸§</td>
<td><input type="text" id="uname" name="uname"></td>
</tr>
<tr>
<td>ÀüÀÚ¿ìÆí</td>
<td><input type="text" name="email" id="email"></td>
</tr>
<tr>
<td>ȸ»ç/Çб³</td>
<td><input type="text" name="company" id="company"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Á¤º¸µî·Ï"
onclick="Insert_Member(mem, uname, email, company)">
<input type="reset" name="reset" value="´Ù½ÃÀÛ¼º" id="reset"> </td>
</tr>
</table>
</form>
</body>
</html>
Á¦°¡ ÀÛ¼ºÇÑ HTMLÀ» °£´ÜÇÏ°Ô Á¤¸®ÇØ ³õÀº °ÍÀÔ´Ï´Ù.
À§ÀÇ <form>À» Àß »ìÆìº¸¸é °¢°¢ÀÇ id°ªÀ» Àß °¡Á®¿Í¼ member¶ó´Â º¯¼ö¿¡ ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÅëÇØ¼ XMLÇüÅ·Π¸¸µé¾îÁÝ´Ï´Ù.
±×¸®°í À§¿¡¼ ¸¸µç member.xmlÀ» È£ÃâÇÏ´Â °ÍÀÌÁö¿ä..
ÀÚ! ±×·¸°Ô ÇØ¼ ¸¸µé¾îÁø ¿¹Á¦°¡ ´ÙÀ½ÀÔ´Ï´Ù.
Çѹø¾¿ ÀÔ·ÂÇØ º¸¼¼¿ä..
Á¦·Îº¸µå·Î ¿Å±â¸é¼ ¿¹Á¦´Â Å×½ºÆ®ÇÒ ¼ö°¡ ¾ø°ÔµÇ¾ú½À´Ï´Ù.
¼Ò½º¸¦ ¹Þ¾Æ¼ Á÷Á¢ Å×½ºÆ®Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù.
Á¦°¡ ¿Ã·Á³õÀº ¿¹Á¦´Â XSLÀ» ºÙ¿©¼ »ðÀÔÇÑÈÄ ¹Ù·Î °á°ú º¸±â ÆäÀÌÁö·Î ³Ñ¾î°¡µµ·Ï Çß¾úÁö¸¸..
¿©±â¿¡¼´Â ±×°Í¿¡ ´ëÇÑ ¼³¸íÀº »ý·«ÇÕ´Ï´Ù. ¼Ò½º¸¦ Âü°íÇÏ½Ã¸é µÉ °Í °°³×¿ä.
È®ÀÎ ¹®ÀåÀ» ¿µ¾î·Î ÀÛ¼ºÇÑ °ÍÀº ÇѱÛÄڵ忡 ´ëÇÑ ¹®Á¦°¡ Á» ÀÖ¾î¼ ±×·¸°Ô Çß½À´Ï´Ù.
±×·³ ÀÌÁ¦ µ¥ÀÌÅ͸¦ °¡Á®¿Í¾ß°ÚÁö¿ä..
ÆÄÀϸí : memberList1.xml
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT uname, email, company
FROM XMLDeveloper
FOR XML AUTO
</sql:query>
</root>
¾Õ¿¡¼ ¸¹ÀÌ ºÁ¿Ô´ø °ÅÁÒ.. µðºñÀÇ XMLDeveloper¿¡¼ uname, email, company¸¦ °¡Á®¿À´Â °æ¿ìÀÔ´Ï´Ù.
¿©±â¿¡ XSLÀ» ºÙ¿© ºÃ½À´Ï´Ù. ±×·±µ¥ Á» ¹®Á¦°¡ ÀÖ´õ±º¿ä..
¾Õ¿¡¼ Àá±ñ ¹®Á¦°¡ ÀÖ´Ù°í Çߴµ¥¿ä.. MSSQL¿¡¼´Â °á°ú·Î ¸®ÅÏµÇ´Â ÅØ½ºÆ®ÀÇ Å¸ÀÔÀÌ À¯´ÏÄÚµåÀÎ °Í °°½À´Ï´Ù.
±×·¡¼ ÀÎÄÚµù ¹æ½ÄÀ» UTF-8 Çü½ÄÀ¸·Î ¹Ù²Ù¾î¾ß ÇѱÛÀÌ Á¦´ë·Î º¸À̳׿ä.. Çæ~~
´©°¡ ÀÌ°Å ÇØ°áÇϽŠºÐÀº Àú¿¡°Ô Á» ¾Ë·ÁÁÖ¼¼¿ä.. ksc5601À̳ª euc-kr·Î ¹Ù²Ù¾îµµ ¾ÈµÇ´õ±º¿ä..
IE¿¡¼ º¸±â - ÀÎÄÚµù - UTF-8À» ¼±ÅÃÇÏ¸é ±ÛÀÚ°¡ Á¦´ë·Î º¸ÀÔ´Ï´Ù.
¼Ò½º´Â ´ÙÀ½°ú °°½À´Ï´Ù.
ÆÄÀϸí : memberList2.xml
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql"
sql:xsl="memberList.xsl">
<sql:query>
SELECT uname, email, company
FROM XMLDeveloper
FOR XML AUTO
</sql:query>
</root>
ÆÄÀϸí : memberList.xsl
<?xml version='1.0' encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match = '*'>
<xsl:apply-templates />
</xsl:template>
<xsl:template match = 'XMLDeveloper'>
<TR>
<TD><B><xsl:value-of select = '@uname' /></B></TD>
<TD><xsl:value-of select = '@email' /></TD>
<TD><xsl:value-of select = '@company' /></TD>
</TR>
</xsl:template>
<xsl:template match = '/'>
<HTML>
<HEAD>
<STYLE>th { background-color: #CCCCCC }</STYLE>
</HEAD>
<BODY>
<TABLE border='1' style='width:600;'>
<TR><TH colspan='3'>XMLDeveloper Member</TH></TR>
<TR><TH >Name</TH><TH>E-Mail</TH><TH>Company/School</TH></TR>
<xsl:apply-templates select = 'root' />
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
ÈÞ~~~ ÀÌ·¸°Ô ÇØ¼ MSSQL¿¡¼ÀÇ XML¿¡ ´ëÇÑ °Á¸¦ ¸¶ÃƽÀ´Ï´Ù.
Á¦°¡ Àß ¸ð¸£´Â ºÎºÐÀ» °ÁÂ·Î ÇØº¸°Ú´Ù°í ÇØ ³õ±¸¼± ³Ê¹« Á˼۽º·´°Ô »ý°¢ÇÕ´Ï´Ù.
´ãºÎÅÍ´Â Àß ¾Æ´Â ºÎºÐÀ» Á» ÇØ¾ß ÇÒ °Í °°½À´Ï´Ù. ±Ùµ¥ º°·ç ¾Æ´Â °Ô ¾ø¾î¼¸®... ÂÁ..
±×·¡¼ ´ÙÀ½ °Á´ Á¦°¡ »ç¿ëÇϰí ÀÖ´Â ¹æ¸í·Ï¿¡ ´ëÇÑ °Á¸¦ ÁøÇàÇϰڽÀ´Ï´Ù.
¿©±â¿¡¼´Â XMLÆÄ¼¿Í DOM¿¡ ´ëÇÑ ±âº»ÀûÀÎ ¼³¸íÀÌ µé¾î°©´Ï´Ù.
Á¦°¡ Á» ¹Ùºü¼ °Á°¡ Á» ´Ê¾îÁú°Í °°½À´Ï´Ù. ÇÏÁö¸¸ ²ÙÁØÈ÷ ¿Ã¸±Å×´Ï ¸¹ÀÌ ±â´ëÇØ ÁÖ¼¼¿ä.
±×·³.. XML±âÃÊ °Á¶§¿Í ¸¶Âù°¡Áö·Î MSSQL °Á¿¡ ´ëÇÑ ÆòÀ» ¿Ã·ÁÁֽñ⠹ٶø´Ï´Ù.±×·³.... 2002/8/21 ¹Ì´Ï ..
|
|
|
| ±è¼¼Ã¢ |
ÁÁÀº °ÀÇ °¨»çÇÕ´Ï´Ù. ¾î·Á¿î ³»¿ëµéÀ» ½±°Ô ¼³¸íÇØ Áּż ÀÌÇØ°¡ Àß µÇ¾ú½À´Ï´Ù. |
2008-02-18 |
|