Làm th? nào đ?: MSXML thư?ng th?c hi?n nhi?m v? trong System.xml b?ng cách s? d?ng Visual C#.NET

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 330589 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài t?ng bư?c này mô t? các tính năng c?a MSXML và.NET Framework các l?p h?c cho x? l? XML. Bài vi?t này c?ng bao g?m m?u trên làm th? nào đ? s? d?ng MSXML trong Microsoft Visual Basic 6.0 và làm th? nào đ? s? d?ng.NET Khuôn kh? các l?p h?c cho x? l? XML.
  • Microsoft XML l?i d?ch v? (MSXML)

    S? d?ng MSXML, b?n có th? xây d?ng các ?ng d?ng d?a trên XML. B?n có th? d? dàng dùng MSXML trong Visual Studio 6.0 các ?ng d?ng như DOM và SAX phân tích cú pháp v?i s? h? tr? cho XSLT, XPath.
  • .Các l?p h?c NET Framework v?i XML

    Các System.xml không gian tên d?a trên các tiêu chu?n h? tr? cho ch? bi?n XML. System.xml không ph?i là ch? có b?n qu?n l? c?a MSXML; ch?c năng c?a nó có th? ch?ng chéo lên nhau c?a thư vi?n MSXML COM, và nó c?ng ch?a m?t mô h?nh đ?i tư?ng phong phú và h? th?ng phân c?p.
Đ? thêm thông tin, h?y truy c?p trang Web Microsoft sau đây Trang web:
Thi?t k? bàn th?ng cho XML trong các.NET Framework

http://MSDN.Microsoft.com/en-US/Library/5w1xh124.aspx

THÔNG TIN THÊM

YÊU C?U

  • Microsoft XML l?i d?ch v? (MSXML) 4,0 ph?n m?m B? phát tri?n (SDK)

    Chú ý: Đ? th?c hi?n b?ng cách s? d?ng MSXML lư?c đ? XML validations, b?n ph?i có MSXML 4.0. Đ?m b?o r?ng MSXML 4.0 SDK đư?c cài đ?t trên máy tính c?a b?n trư?c khi b?n ch?y m?u m? các Phân tích ho?c phê chu?n XML Documents ph?n c?a bài vi?t này. T?t c? các m?u c?n l?i c?ng làm vi?c v?i MXSML 3.0.

    Đ? t?i v? MSXML 4.0 SDK, truy c?p vào các sau đây Web site c?a Microsoft:
    http://www.Microsoft.com/downloads/details.aspx?FamilyID=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&displaylang=en
  • S? d?ng Microsoft Visual Basic 6.0 cho MSXML m?u. Thêm m?t tài li?u tham kh?o đ? Microsoft XML Phiên b?n 4.0 ho?c Microsoft XML Phiên b?n 3.0.
  • T?t c? các m?u trong bài vi?t này đ? c?p đ?n XML sau đây tài li?u. H?y ch?c ch?n đ? sao chép tài li?u này vào thư m?c C:\XMLMigration.Books.xml
    <?xml version="1.0" encoding="utf-8" ?>
    <bookstore xmlns:bk="urn:samples">
    <book genre="novel" publicationdate="1997" bk:ISBN="1-861001-57-6">
    	<title>Pride And Prejudice</title>
    	<price>24.95</price>
    </book>
    <book genre="novel" publicationdate="1992" bk:ISBN="1-861001-45-3">
        <title>The New Dawn</title>    
        <price>29.95</price>    
    </book>
    <book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-8">
        <title>Blue Smoke</title>
        <price>19.95</price>
    </book>
    </bookstore>
    

MSXML vs. System.xml cho x? l? XML

Sau đây là s? so sánh đ? xem xét khi b?n di chuy?n t? MSXML 4.0 đ?.NET Framework các l?p h?c v?i XML.

Simple API for XML (SAX)

  • MSXML
    : H? tr? khuy?n cáo cu?i cùng c?a World Wide Web (W3) Consortium cho lư?c đ? XML v?i DOM và SAX. Các mô h?nh d?a trên s? ki?n SAX là nh?t ngu?n l?c, hi?u qu? và hi?u su?t cao cách s? d?ng MSXML.
  • .NET Framework Classes
    : SAX là không th?c hi?n trong các.NET Framework và s? d?ng kéo mô h?nh cho phân tích cú pháp XML. Thay vào đó, XmlReaderXmlWriter có các l?p tr?u tư?ng mà th?c hi?n các API cho vi?c đ?c và vi?t d? li?u. Các XmlReader có m?t kéo mô h?nh phân tích cú pháp và có m?t s? l?i th? hơn SAX mô h?nh đ?y, ch?ng h?n như qu?n l? nhà nư?c, x? l? ch?n l?c, l?p và thêm Chu?i Copy tránh.

XSL Transformation

  • MSXML
    : Phân tích cú pháp m?i không h? tr? không đ?ng b? DOM t?i ho?c DTD xác nh?n. B?ng cách s? d?ng phương th?c bi?n đ?i m?t đ?i tư?ng XSLProcessor, b?n có th? xin m?t phong cách trang vào tài li?u. Đó c?ng là m?t transformNode phương pháp áp d?ng m?t phong cách trang đ? m?t nút đư?c ch? đ?nh và c?a nó tr? em.
  • .NET Framework Classes
    : Cung c?p gia tăng s?n lư?ng d?ng t? các XslTransform l?p h?c. Argymhelliad XSLT s? d?ng XPath đ? ch?n m?t ph?n c?a m?t Tài li?u XML, nơi XPath là m?t ngôn ng? truy v?n đư?c s? d?ng đ? đi?u hư?ng các nút c?a m?t tài li?u cây. XPathDocument là kho d? li?u t?i ưu hóa XSLT. Khi XPathDocument đư?c s? d?ng v?i XslTransform, c?i thi?n hi?u su?t c?a bi?n đ?i XSLT.

XML Validations

  • MSXML
    : MSXML 4.0 h? tr? lư?c đ? XML. B?n có th? xác nh?n XML v?i các XML gi?n đ? trong c? SAX và DOM. M?c dù có không có XPath 2,0MSXML 4.0 cung c?p ch?c năng m? r?ng đang đư?c cho phép các tiêu chu?n đ? h? tr? cho vi?c x? l? các lo?i XSD trong XPath và XSLT. Ngoài ra đ? h? tr? cho các khuy?n ngh? cu?i cùng lư?c đ? XML, MSXML ti?p t?c h? tr? d? li?u XML gi?m (XDR) và đ?nh ngh?a lo?i tài li?u (DTD) validations.
  • .NET Framework Classes
    : The b? phân tích nhanh, ch? có chuy?n ti?p có th? xác nh?n XML v?i DTDs, XDRs, và XSDs đư?c đ?t tên XmlValidatingReader. XmlValidatingReader là m?t Phân tích cú pháp XML tương thích. Các XmlSchemaCollection l?p h?c có th? s? d?ng đ? b? nh? cache thư?ng đư?c s? d?ng XSD ho?c XDR lư?c đ? khi s? d?ng XmlValidatingReader.

XML Navigation

  • MSXML
    : M?c đích chính c?a XPath là b? ph?n đ?a ch? c?a m?t XML tài li?u. Nó c?ng cung c?p các cơ s? cơ b?n cho thao tác chu?i, s? đi?n tho?i, và phép toán lu?n. XPath s? d?ng m?t cú pháp XML không nh? g?n, làm cho nó d? dàng hơn đ? s? d?ng XPath giá tr? thu?c tính URIs và XML. XPath đư?c đ?t tên d?a trên con đư?ng k? hi?u nó s? d?ng trong các URL đ? khám phá các c?u trúc th? b?c c?a m?t XML tài li?u.
  • .NET Framework Classes
    : Các sáng t?o con tr? ki?u menu c?a XPathNavigator t?i thi?u hoá sáng t?o nút đ? m?t nút đơn ?o trong khi cung c?p truy c?p ng?u nhiên vào tài li?u. Trong phong cách chuy?n hư?ng này, m?t cây hoàn thành n?t không ph?i là đ? đư?c xây d?ng trong b? nh?.

Truy nh?p d? li?u qua HTTP

  • MSXML
    : The XMLHTTP đ?i tư?ng đư?c tích h?p v?i MSXML đ? h? tr? vi?c g?i yêu c?u cơ th? tr?c ti?p t? và phân tích các ph?n ?ng tr?c ti?p cho các đ?i tư?ng MSXML DOM. Khi k?t h?p v?i s? h? tr? cho Extensible Stylesheet ngôn ng? (XSL), các Thành ph?n XMLHTTP cung c?p m?t cách d? dàng đ? g?i truy v?n có c?u trúc cho HTTP các máy ch? và hi?n th? các k?t qu? v?i m?t lo?t các bài thuy?t tr?nh.
  • .NET Framework Classes
    : System.net cung c?p m?t giao di?n l?p tr?nh đơn gi?n cho nhi?u ngư?i trong s? các giao th?c đư?c s? d?ng trên m?ng. Các HttpWebRequestHttpWebResponse các l?p h?c trong các System.net không gian tên cung c?p ch?c năng XMLHTTP trong các.NET khuôn kh?. B?ng cách s? d?ng các ContentType b?t đ?ng s?n, b?n có th? ch? r? lo?i phương ti?n truy?n thông các yêu c?u.

T?i, truy c?p, thao tác, và lưu tài li?u XML

Ví d? m? sau narrates làm th? nào đ? t?i và lưu các XML tài li?u. M?u này c?ng bao g?m làm th? nào đ? n?i thêm, xóa, và c?p nh?t các các y?u t? trong các tài li?u XML.

B?ng cách s? d?ng MSXML

Chú ý: Đ? ch?y sau MSXML m?u m?, xem các yêu c?u"" ph?n trong bài vi?t này:
On Error GoTo Handle

'Create the XmlDocument.

Dim objDOMDoc As New DOMDocument30
objDOMDoc.async = False
objDOMDoc.Load ("C:\XMLMigration\books.xml")
Debug.Print ("\n XML Document Loaded")

' Set the root element.
Dim root As MSXML2.IXMLDOMElement
Set root = objDOMDoc.documentElement
 
 ' Select and display the value of all the publicationdate attributes.
Debug.Print ("\n List of Publications")
Dim pbDateList As MSXML2.IXMLDOMNodeList
Set pbDateList = root.selectNodes("/bookstore/book/@publicationdate")
Dim nameList As MSXML2.IXMLDOMNodeList
Set nameList = root.selectNodes("/bookstore/book/title")

Dim i As Integer
For i = 0 To nameList.length - 1 Step i + 1
    Debug.Print ("\n\t\tName: " + nameList(i).Text + ",Published :" + pbDateList(i).Text)
Next

'Select the book node with the matching attribute value.
Dim book As MSXML2.IXMLDOMNode, price As MSXML2.IXMLDOMNode
Set book = root.selectSingleNode("book[@bk:ISBN='1-861001-57-6']")

' Selects the first 'Price' element and modify its value.
Set price = book.selectSingleNode("price")
price.Text = "50.5"
Debug.Print ("\n First Book Price Updated")

' Remove the last element.
root.removeChild root.lastChild
Debug.Print ("\n Last Element Deleted")

'Create a new node.
Dim elem As MSXML2.IXMLDOMElement
Set elem = objDOMDoc.createElement("book")
elem.setAttribute "genre", "novel"
elem.setAttribute "publicationdate", "1982"

' Attribute to the root namespace (another namespace)
Dim objAttribNode As MSXML2.IXMLDOMNode
Set objAttribNode = objDOMDoc.createNode(2, "bk:ISBN", "urn:samples")
objAttribNode.nodeTypedValue = "1-851002-30-1"
elem.Attributes.setNamedItem objAttribNode

'Add the node to the document.
root.appendChild elem
Debug.Print ("\n Element appended to XML Document")
objDOMDoc.save ("C:\XMLMigration\books.xml")
Debug.Print ("\n XML Document Saved")
Exit Sub

Handle:
Debug.Print ("Error: " + Err.Description)

B?ng cách s? d?ng.NET Framework Classes

using System;
using System.Xml;

public class CSharpSample
{
	public static void Main()
	{
		//Create the XmlDocument.
		Console.Write ("\n .NET Framework Sample\n");
		XmlDocument doc = new XmlDocument();
		doc.Load(@"C:\XMLMigration\books.xml");

		//Create an XmlNamespaceManager for resolving namespaces.
		XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
		nsmgr.AddNamespace("bk","urn:samples");
		XmlNode book,price;
		XmlElement root = doc.DocumentElement;

		// Select and display the value of all the publicationdate attributes.
		Console.Write ("\n List of Publications\n");
		XmlNodeList pbDateList = root.SelectNodes("/bookstore/book/@publicationdate");
		XmlNodeList nameList = root.SelectNodes("/bookstore/book/title");
		for(int i=0;i < nameList.Count ;i++)
			Console.WriteLine("\n\t\tName: " +  nameList[i].InnerText + ",Published :" + pbDateList[i].InnerText);

		//Select the book node with the matching attribute value.		
		book = root.SelectSingleNode("descendant::book[@bk:ISBN='1-861001-57-6']", nsmgr);
		
		// Selects the first 'Price' element and modify its value.
		price = book.SelectSingleNode("price");
		price.InnerText = "50.5";
		Console.Write ("\n First Book Price Updated");

		// Remove the first element.
		root.RemoveChild(root.LastChild);
		Console.Write ("\n Last Element Deleted");

		// Create a new node and set its attributes.		
		XmlElement elem = doc.CreateElement("book");		
		elem.SetAttribute("genre","novel");
		elem.SetAttribute("publicationdate","1982");
		elem.SetAttribute("ISBN","urn:samples","1-851002-30-1");

		//Add the node to the document and save the XML.
		root.AppendChild(elem);
		Console.Write ("\n Element appended to XML Document");
		doc.Save(@"C:\XMLMigration\books.xml");
		Console.Write ("\n XML Document Saved");			

		Console.ReadLine();

	}
}

B?ng cách s? d?ng XPathDocument cho các ch? đ?c truy v?n XPath

Đ? th?c hi?n truy v?n XPath ? ch? đ? ch? đ?c, Microsoft khuy?n cáo mà b?n s? d?ng các System.xml.XPath.XPathDocument l?p h?c. Ví d? sau mô t? cách s? d?ng XPathDocument l?p h?c đ? th?c thi các truy v?n XPath.
using System;
using System.Xml;
using System.Xml.XPath;

public class XPATHDOC
{
	public static void Main()
	{
		// Creating XPathDocument and XPathNavigator.
		XPathDocument doc = new XPathDocument(@"C:\XMLMigration\books.xml");
		XPathNavigator nav = doc.CreateNavigator();

		// Creating XPathExpression to select all the novels
		XPathExpression expression = nav.Compile("descendant::book[@genre='novel']");
		XPathNodeIterator nodeIterator = nav.Select(expression);

		while (nodeIterator.MoveNext())
		{	
		XPathNavigator nav2 =	nodeIterator.Current;
		Console.Write("\n\t Book Title & Price : " + nav2.Value);  	
		nav2.MoveToNext();
		}			
	}
}

Phân tích ho?c phê chu?n XML Documents

B?n có th? xác nh?n m?t tài li?u XML ch?ng l?i m?t lư?c đ? XML đ?nh ngh?a ngôn ng? (XSD) gi?n đ? tài li?u. Đ? t?o ra t?p tin gi?n đ? Books.xsd cho các T?p tin XML Books.xml, s? d?ng công c? đ?nh ngh?a gi?n đ? XML (Xsd.exe). Đ? làm đi?u này, th?c hi?n theo các bư?c sau:
  1. Vào ph?ng thu tr?c quan.NET Công cụ tr?nh đơn, m? Visual Studio.NET d?u nh?c l?nh.
  2. Thay đ?i thư m?c vào C:\XMLMigration\
  3. G? d?ng l?nh sau đây:xsd.exe Books.xml
  4. Thông báo r?ng danh sách sau đây c?a các t?p tin đư?c t?o ra trong c?p này:
    • Books.xsd
    • Books_app1.xsd
Các ví d? m? sau ch?ng minh làm th? nào đ? th?c hi?n xác nh?n ngày books.xml b?ng cách s? d?ng MSXML và.Các l?p h?c NET Framework.

B?ng cách s? d?ng MSXML

  1. M? này t?o ra m?t đ?i tư?ng XMLSchemaCache40, cho bi?t thêm các gi?n đ? (books.xsd) đ? các đ?i tư?ng, sau đó đ? ch? gi?n đ? DOMDocument đ?i tư?ng
  2. Xác nh?n đư?c th?c hi?n khi các t?p tin books.xml đư?c n?p vào đ?i tư?ng DOMDocument.
  3. Xác nh?n l?i tr? l?i b?ng cách s? d?ng parseError tài s?n c?a đ?i tư?ng DOMDocument.
Chú ý: Đ? ch?y sau MSXML m?u m?, xem các yêu c?u"" ph?n trong bài vi?t này.
On Error GoTo Handle
' Create a schema cache and add books.xsd to it.
Dim xmlschema As New MSXML2.XMLSchemaCache40
xmlschema.Add "", "C:\XmlMigration\books.xsd"
' Create an XML DOMDocument object.
Dim xmldom As New MSXML2.DOMDocument40
' Assign the schema cache to the DOM document, schemas collection.
Set xmldom.schemas = xmlschema

' Load books.xml as the DOM document.
xmldom.async = False
xmldom.Load ("C:\XMLMigration\books.xml")

' Return validation results in message to the user.
If xmldom.parseError.errorCode <> 0 Then
    Debug.Print (xmldom.parseError.errorCode + xmldom.parseError.reason)
Else
    Debug.Print ("No Validation Errors")
End If
Exit Sub
Handle:
Debug.Print ("Validation Errors " + Err.Description)

B?ng cách s? d?ng.NET Framework Classes

Các.NET Framework cung c?p các XmlValidatingReader l?p h?c đ? phê chu?n tài li?u XML. Đ? xác nh?n m?t tài li?u XML s? d?ng lư?c đ? XSD, h?y làm theo các bư?c sau:
  1. T?o m?t đ?i tư?ng đ?c Validating.
  2. Ch? r? lo?i xác nh?n yêu c?u.
  3. Đăng k? m?t phương pháp x? l? s? ki?n, đ? đ?i phó v?i xác nh?n l?i.
  4. Đ?c và xác nh?n tài li?u.
  5. Cung c?p m?t th?c hi?n cho x? l? s? ki?n xác nh?n phương pháp.
using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;

public class CSharpSchemaValidation
{
	private static string validationErrors = String.Empty;
	// the ValidationCallBack method is called when a Validation error occurs
	public static void ValidationCallBack(object sender, ValidationEventArgs e) 
	{
		validationErrors += e.Message + ";";
	}

	public static void Main()
	{
		try
		{
			// looking for the element tags.
			string nodeNames = String.Empty;
			
			// Read the xml file, and send this to validator.
			XmlTextReader xmlReader = new XmlTextReader(@"C:\XMLMigration\books.xml");			

			// load the schema file into an XmlTextReader object
			XmlTextReader xsdReader = new XmlTextReader(@"C:\XMLMigration\books.xsd");			
			XmlSchemaCollection sc = new XmlSchemaCollection();
			
			// add the ValidationEventHandler to the schema collection
			sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);				
			
			// add the schema to the XmlSchemaCollection object
			sc.Add("", xsdReader);				
			
			// create an XmlValidatingReader object based on the Xml document
			XmlValidatingReader rdr = new XmlValidatingReader(xmlReader);
	
			// set the ValidationType to a schema
			rdr.ValidationType = ValidationType.Schema;
			rdr.Schemas.Add(sc);
			rdr.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);			
			while (rdr.Read())
			{
				if (rdr.NodeType == XmlNodeType.Element)
					nodeNames += rdr.Name + " ";
			}
					
			if (validationErrors != String.Empty) 
			{
				// errors were added during the ValidationEventHandler
				char[] delimiter = new Char[1];
				delimiter[0] = Convert.ToChar(";");
				string[] errors = validationErrors.Split(delimiter);
				for(int i=0; i<errors.Length; i++)
					Console.WriteLine(errors[i]);				
			}
			else
			{
				// there were no validation errors, so display that message, or use the 'nodeNames'
				Console.WriteLine("No validation errors.");
			}
		}
		catch (Exception ex)
		{
			validationErrors += ex.Message + ";";
		Console.WriteLine( validationErrors);
			}
	}
}

XSLT Transformation

Ví d? sau s? d?ng Books.xsl đ? th?c hi?n XSLT Chuy?n đ?i trên Books.xml:
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="bookstore">
<table><xsl:attribute name="border">1</xsl:attribute>
<TR><Td>Book Title</Td><td>Price</td></TR>
<xsl:apply-templates select="*" />
</table>
</xsl:template>
<xsl:template match="book">
<TR>
<xsl:apply-templates select="*" />
</TR>
</xsl:template>
<xsl:template match="title">
<TD>
<xsl:value-of select="."/>
</TD>
</xsl:template>
<xsl:template match="price">
<TD>
<xsl:value-of select="."/>
</TD>
</xsl:template>	
</xsl:stylesheet>

B?ng cách s? d?ng MSXML

  1. Đ?ng b? n?p bi?u đ?nh ki?u XSLT lên m?t FreeThreadedDOMDocument đ?i tư?ng
  2. T?o m?t th? hi?n c?a m?t XSLTemplate đ?i tư?ng.
  3. Đ?t tài s?n t? phong cách c?a các XSLTemplate đ?i tư?ng đ? các FreeThreadedDocument đ?i tư?ng có ch?a XSLT stylesheet.
  4. Gán m? ngu?n XML nút cho các tài s?n đ?u vào c?a các XSLProcessor đ?i tư?ng.
  5. G?i s? chuy?n đ?i b?ng cách g?i các Transform() phương pháp c?a các XSLProcessor đ?i tư?ng.
  6. Có đư?c k?t qu? c?a phép bi?n đ?i t? đ?u ra tài s?n c?a các XSLProcessor đ?i tư?ng.
    Chú ý: Đ? ch?y sau MSXML m?u m?, xem các yêu c?u"" ph?n trong bài vi?t này:
 
On Error GoTo Handle
' Create FreeThreadedDOMDocument
Dim oXSLT As New MSXML2.XSLTemplate
Dim oStyleSheet As New MSXML2.FreeThreadedDOMDocument
Dim oXSLTProc As MSXML2.IXSLProcessor
Dim oXMLSource As New MSXML2.DOMDocument30

' Load the XSLT Stylesheet
oStyleSheet.async = False
oStyleSheet.Load ("C:\XMLMigration\books.xsl")

' Create the XSLTemplate object
Set oXSLT.stylesheet = oStyleSheet

' Create the XSLProcessor object;
Set oXSLTProc = oXSLT.createProcessor()

' Load XML source in DOMDocument
oXMLSource.async = False
oXMLSource.Load ("C:\XMLMigration\books.xml")

' Add a global paramter.
oXSLTProc.addParameter "TableOnly", "Yes", ""

' Assign XML source to XSLProcessor object
oXSLTProc.input = oXMLSource

' Invoke the transformation
oXSLTProc.Transform

' Use output of transformation.
Debug.Print (oXSLTProc.output)
Exit Sub
Handle:
Debug.Print ("Error : " & Err.Description)

B?ng cách s? d?ng.NET Framework Classes

S? d?ng XSLTransform trong các.NET Framework, h?y làm theo các bư?c sau:
  1. T?o m?t th? hi?n c?a m?t đ?i tư?ng XSLTransform.
  2. B?ng cách s? d?ng các Load() phương pháp, t?i di?n XSLT phong cách trang tính trong các XSLTransform đ?i tư?ng.
  3. B?ng cách s? d?ng các Transform() phương pháp, g?i s? chuy?n đ?i b?ng cách cung c?p ngu?n XPathDocument và đ?u ra m?c tiêu.
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class NETXSL
{
	public static void Main()
	{
		//Load the xml file into XPathDocument object.
		XPathDocument doc = new XPathDocument(@"C:\XMLMigration\books.xml");
		
		//Create the XslTransform object.
		XslTransform xslt = new XslTransform();

		//Load the stylesheet.
		xslt.Load(@"c:\temp\books.xsl");
		
		FileStream stream = File.Open(@"C:\XMLMigration\books.html", FileMode.OpenOrCreate);		
		xslt.Transform(doc, null, stream);
	}
}

Th?c hi?n yêu c?u HTTP

Ví d? m? sau ch?ng t? làm th? nào đ? th?c hi?n m?t yêu c?u cho m?t Giám sát Web server, và nh?n đư?c ph?n ?ng t? máy ch? Web đó:

B?ng cách s? d?ng thành ph?n MSXML

  1. T?o m?t th? hi?n c?a m?t XMLHttp đ?i tư?ng.
  2. G?i cho các Open() phương pháp, đ?t HTTP tham s? tùy ch?n, ch?ng h?n như lo?i phương th?c, URL , tiêu đ? tùy ch?nh ho?c thông tin đăng nh?p khác.
  3. G?i các Send() phương pháp đ? làm cho m?t yêu c?u HTTP.
  4. Ki?m tra ph?n ?ng t? h? ph?c v? b?i sau đây thu?c tính:
    • responseBody: tr? v? ph?n ?ng trong m?t m?ng c?a chưa đư?c k? byte
    • responseStream: tr? v? ph?n ?ng trong m?t d?ng.
    • responseText: tr? v? ph?n ?ng như là m?t chu?i.
    • responseXML: tr? v? ph?n ?ng như DOMDocument c?a các XML.

      Chú ý: Đ? ch?y sau MSXML m?u m?, xem các yêu c?u"" ph?n trong bài vi?t này:
      Dim oXMLHttpRequest As New MSXML2.XMLHTTP
      ' Change the Microsoft Internet Information Server (IIS) name in following URL.
      oXMLHttpRequest.open "GET", "http://[servername]/[virtualdirectory]/[filename.xml]", False, "", ""
      oXMLHttpRequest.send
      Debug.Print (oXMLHttpRequest.responseText)
      

B?ng cách s? d?ng Microsoft.NET Framework Classes

  1. T?o m?t th? hi?n c?a m?t HttpWebRequest đ?i tư?ng b?ng cách g?i t?nh Create() phương pháp c?a các WebRequest l?p h?c.
  2. Tùy ch?n, đ?t thu?c tính yêu c?u HTTP, ch?ng h?n như là phương pháp lo?i, tiêu đ? tùy ch?nh ho?c thông tin đăng nh?p khác.
  3. G?i cho các GetResponse() phương pháp c?a các HttpWebRequest đ?i tư?ng. Đi?u này tr? v? m?t HttpWebResponse đ?i tư?ng.
  4. G?i các GetResponseStream phương pháp c?a các HttpWebResponse đ?i tư?ng đ? n?m b?t cơ th? c?a các ph?n ?ng.
  5. G?i cho các Close() phương pháp c?a các HttpWebResponse đ?i tư?ng đ? phát hành các k?t n?i.
	using System;
	using System.Xml;
	using System.Net;
	
	public class CSharpHttpExample	
	{
		public static void Main()		
		{
			// Change the Microsoft Internet Information Server (IIS) name in following URL.
			HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://[ServerName]/[virtualdir]/[filename.xml]");

			// Change Username and password.
			request.Credentials = new NetworkCredential("[username]", "[password]");

			// Downloads the XML file from the specified server.
			HttpWebResponse response = (HttpWebResponse)request.GetResponse();
			
			// Loads the XmlDocument.
			XmlDocument doc = new XmlDocument();			
			doc.Load(response.GetResponseStream());
			doc.Save(Console.Out);

			// Releases the resources of the response.
			response.Close();
		}
	}

THAM KH?O

Cho thêm thông tin v? không gian tên System.XML, b?m vào bài vi?t sau đây các con s? đ? xem các bài vi?t trong cơ s? ki?n th?c Microsoft:
313824Thông báo: L? tr?nh l?p tr?nh XML v?i b? phân tích DOM-ngư?i m?u trong các.NET Khuôn kh?.
313826 Thông báo: L? tr?nh cho lư?c đ? XML trong các.NET Framework
313651 THÔNG TIN: L? tr?nh cho XML trong các.NET Framework.
318499 Làm th? nào đ?: s? d?ng các l?p h?c System.Xml.XmlDocument đ? th?c hi?n truy v?n XPath trong Visual C# .NET

Thu?c tính

ID c?a bài: 330589 - L?n xem xét sau cùng: 28 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
T? khóa: 
kbdownload kbxml kbvalidation kbhowtomaster kbmt KB330589 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:330589

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com