Working with xml data

7

Click here to load reader

Transcript of Working with xml data

Page 1: Working with xml data
Page 2: Working with xml data

Document Object Model (DOM) provide standards that define the structure and a standard programming interface that can be used in a wide variety of environments and applications for XML documents.

Classes that support the DOM are typically capable of random access navigation and modification of the XML document.

The XML classes are accessible by setting a reference to the System.Xml.dll file. The System.Data.dll file also extends the System.Xml namespace.

Page 3: Working with xml data

XmlDocument

XmlDataDocument

XPathDocument

XmlConvert

XPathNavigator

XmlNodeReader

XmlTextReader

XmlTextWriter

XmlReader

XslTransform

Page 4: Working with xml data

The XML Classes

Creating a New XmlDocument from Scratch

Parsing XmlDocuments (using DOM and XPathNavigator)

Searching the XmlDocument (using DOM and XPathNavigator)

Writing an XML File Using the XmlTextWriter

Reading an XML File Using the XmlTextReader

Modifying an XML Document

Validating XML Documents

Using LINQ to XML

Page 5: Working with xml data

LINQ to XML is a LINQ-enabled, in-memory XML programming interface that enables you to work with XML from within the .NET Framework programming languages.

LINQ to XML is like the Document Object Model (DOM) in that it brings the XML document into memory. You can query and modify the document, and after you modify it you can save it to a file or serialize it and send it over the Internet. However, LINQ to XML differs from DOM: It provides a new object model that is lighter weight and easier to work with, and that takes advantage of language improvements in Visual C# 2008.

Page 6: Working with xml data

The most important advantage of LINQ to XML is its integration with Language-Integrated Query (LINQ). This integration enables you to write queries on the in-memory XML document to retrieve collections of elements and attributes. The query capability of LINQ to XML is comparable in functionality (although not in syntax) to XPath and XQuery. The integration of LINQ in Visual C# 2008 provides stronger typing, compile-time checking, and improved debugger support.

Another advantage of LINQ to XML is the ability to use query results as parameters to XElement and XAttributeobject constructors enables a powerful approach to creating XML trees. This approach, called functional construction, enables developers to easily transform XML trees from one shape to another.

Page 7: Working with xml data

IEnumerable<XElement> partNos = from item in purchaseOrder.Descendants("Item") where (int) item.Element("Quantity") * (decimal) item.Element("USPrice") > 100 orderby(string)item.Element("PartNumber") select item;