Recipe15.2.Reading XML on the Web


Recipe 15.2. Reading XML on the Web

Problem

Given a URL that points to an XML document, you need to grab the XML.

Solution

Use the XmlReader constructor that takes a URL as a parameter:

 string url = "http://localhost/xml/sample.xml"; using (XmlReader reader = XmlReader.Create(url)) {     while (reader.Read())     {         switch (reader.NodeType)         {             case XmlNodeType.Element:                 Console.Write("<{0}>", reader.Name);                 break;         }     } } 

Discussion

Using the XmlReader.Create method with a URI is a quick way to access XML documents that are stored remotely without writing all of the connectivity code. This uses an instance of the XmlUrlResolver class to check the URI passed in and then opens a stream to the XML document indicated by the URI. To specify settings on the reader, there is a second overload of Create that also takes an XmlReaderSettings instance to facilitate this.

The sample.xml file being referenced in this code is set up in a virtual directory named xml on the local system. The code retrieves the sample.xml file from the web server and displays all of the elements in the XML.

sample.xml contains the following XML data:

 <?xml version='1.0'?> <!-- My sample XML --> <?pi myProcessingInstruction?> <Root>     <Node1 nodeId='1'>First Node</Node1>     <Node2 nodeId='2'>Second Node</Node2>     <Node3 nodeId='3'>Third Node</Node3>     <Node4><![CDATA[<>\&']]></Node4> </Root> 

See Also

See the "XmlReader Class" topic in the MSDN documentation.



C# Cookbook
Secure Programming Cookbook for C and C++: Recipes for Cryptography, Authentication, Input Validation & More
ISBN: 0596003943
EAN: 2147483647
Year: 2004
Pages: 424

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net