Przekształcanie funkcjonalne kodu XML (LINQ to XML)
W tym artykule omówiono czystą funkcjonalną metodę przekształcania w celu modyfikowania dokumentów XML i kontrastuje z podejściem proceduralnym.
Modyfikowanie dokumentu XML
Jednym z najczęstszych zadań programisty XML jest przekształcanie kodu XML z jednego kształtu na inny. Kształt dokumentu XML jest strukturą dokumentu, która obejmuje następujące elementy:
- Hierarchia wyrażona przez dokument.
- Nazwy elementów i atrybutów.
- Typy danych elementów i atrybutów.
Ogólnie rzecz biorąc, najbardziej efektywnym podejściem do przekształcania kodu XML z jednego kształtu na inny jest czysta transformacja funkcjonalna. W tym podejściu podstawowym zadaniem programisty jest utworzenie przekształcenia stosowanego do całego dokumentu XML (lub do co najmniej jednego ściśle zdefiniowanego węzła). Przekształcanie funkcjonalne jest prawdopodobnie najłatwiejszym kodem (po zapoznaniu się z podejściem przez programistę) daje najbardziej łatwy do utrzymania kod i jest często bardziej kompaktowy niż alternatywne podejścia.
Technologie transformacji funkcjonalnej XML
Firma Microsoft oferuje dwie technologie przekształcania funkcjonalnego do użycia w dokumentach XML: XSLT i LINQ to XML. Język XSLT jest obsługiwany w zarządzanej System.Xml.Xsl przestrzeni nazw i w natywnej implementacji COM msXML. Mimo że XSLT to niezawodna technologia do manipulowania dokumentami XML, wymaga wiedzy specjalistycznej w domenie, a mianowicie języka XSLT i jego pomocniczych interfejsów API.
LINQ to XML udostępnia narzędzia niezbędne do kodowania czystych przekształceń funkcjonalnych w sposób ekspresowy i zaawansowany w kodzie C# lub Visual Basic. Na przykład wiele przykładów w dokumentacji LINQ to XML używa czystego podejścia funkcjonalnego. Ponadto w samouczku Tutorial: Manipulating Content in a WordprocessingML Document (Samouczek: manipulowanie zawartością w dokumencie WordprocessingML) używamy linQ to XML w podejściu funkcjonalnym do manipulowania informacjami w dokumencie programu Microsoft Word.
Aby uzyskać bardziej kompletne porównanie LINQ to XML z innymi technologiami XML firmy Microsoft, zobacz LINQ to XML a inne technologie XML.
XSLT to zalecane narzędzie do przekształcania skoncentrowanego na dokumentach, gdy dokument źródłowy ma nieregularną strukturę. Jednak LINQ to XML może również wykonywać przekształcenia skoncentrowane na dokumentach. Aby uzyskać więcej informacji, zobacz Jak używać adnotacji do przekształcania drzew LINQ to XML w stylu XSLT.