Например, рассмотрим базу данных pubs, которая включает в себя таблицу authors. Используя XmlDataDocument, вы можете просматривать список авторов как XML-документ и затем применять XSL-трансформацию с помощью элемента управления Xml. Так выглядит полный код, который для этого понадобится:

// Создать объекты ADO.NЕТ.
SqlCorinection Con = new SqlConnection(connectionString);
string SQL = "SELECT * FROM authors WHERE city='Oakland'";
SqlCommand cmd = new SqlCommand(SQL, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet("AuthorsDataSet");

// Извлечь данные.
con.Open();
adapter.Fill(ds, "AuthorsTable");
con.Close();

// Создать XmlDataDocument - обертку для DataSet.
XmlDataDocument dataDoc = new XmlDataDocument(ds);

// Отобразить данные XML (с помощью XSLT) в элементе управления Xml.
XmlControl.Document = dataDoc;
XmlControl.TransformSourсе = "authors.xslt";

А вот таблица стилей XSL, выполняющая преобразование XML в готовый к отображению НТМL-код:

<?xml vers1оn="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="AuthorsDataSet">
    <h1>The Author List</h1>
    <xsl:apply-templates select="AuthorsTable"/>
    <i>Created through XML and XSLT</i>
  </xsl:template>
  
  <xsl:template match="AuthorsTable">
    <p><b>Name: </b><xsl:value-of select="au_lname"/>,
    <xsl:value-of select="au_fname"/><br/>
    <b>Phone: </b> <xsl:value-of select="phone"/></p>
  </xsl:template>
</xsl:stylesteet>

На рис. 12.16 показаны обработанные данные в форме HTML.

Помните, что когда вы взаимодействуете с данными в виде XML, все ориентированные на базы данных концепции настроек вроде отношений таблиц и ограничений уникальности не работают. Единственная причина для взаимодействия с данными через DataSet как c XML— необходимость выполнения специфичных для XML задач. Вы не должны применять манипуляции XML для замены подходов работы с данными, описанных в предыдущих главах. В большинстве случаев вы обнаружите, что легче применять усовершенствованные элементы управления, такие как GridView, а не создавать специальные таблицы стилей XSL для трансформации в HTML данных, которые хотите отобразить.

предыдущая    следующая страница    вначало главы    оглавление

567

Hosted by uCoz