This article refers to the following Microsoft .NET
Framework Class Library namespaces:
This step-by-step article describes how to write code in .NET applications to execute Web Service methods that take an
XmlDocumentparameter, or that return an
XmlDocument???????? ???
When
XmlDocumentobjects are passed as parameters to Web Service methods, or are
returned from Web Service methods, they are marshaled as
XmlNodeobjects. The
XmlDocument, ??
XmlNode?????? ??? ???? ???? ??? ???
System.Xml??? ????? (
XmlDocument?? ???
XmlNode).
??? ???? ?? ??? ??? marshaled manipulation ??
XmlNode(?? ??? ???? ?? ???? ???? ?? ??? ???? ??? ??, ?? ??? ???? ?? ???? ???? ?? ?????? ???? ??? ??) XmlDocument API ?? ????? ???? ?? ????? ????? ?? ???????? ??
XmlNode?????? ?? ???, ???? ?????? ???? ??? ??? ??
XmlDocument???????? ??? ??? ???? ?? ???, ????? ??? ?? ???? ?? ???? ????::
- XmlDocument.LoadXml(XmlNode.OuterXml)
- XmlDocument.ImportNode(XmlNode, true)
?? ???? ??? ????? demonstrate ?? ??????? ?? ????? ???? ????
- Microsoft Visual Studio .NET, ??? ????? ??? ??? ????? C# .NET asp.NET ??? ???? ?????????? ??? ???? ?? ???, ????? ????? ?? ???? ????::
- ????? ???????????? ??,????? ????-????? ????, ?? ???? ????????????.
- ?????????????? ??????????, ????? ????????? C# ??????????? ????-????? ????, ?? ???? ???ASP.NET ??? ?????????????????????
- ????????????? ????? ???, ??????XMLDocService(???????? ??? ?? WebService1) ??????? ??? ????????? ?????
- ???? ?? ??? Service1.asmx ?? ???? ?? ??????? ??? ???? ?? ??? ?????XMLDocService.asmx.
- ????? ????,??? ????? ?? ????? ???? ?? ??? ???? ????? ??????? ????? ?? ????? ???? ?? ??? ??????? ????????
- ???? ?? ?? ???? ???? ?? ????????? ???XMLDocument???????? ??? ???? ?????? ???? ?? ???????? ???? ?? ??? ????????? ?? ?????? ???WebMethod??????? ??? ?? ??????? ?? ???? ???? ???? ???? ?????? ??????
???:???????? ???? ???? ???? ?????WebMethod??????? ??? ????????? ??? ???? ??????? ?? ??? ?? ??? ??????????? ????? ?? ?????? ?? ??? ?? ??????? ?? ????? ???? ?? ???? ?? ???WebService???? ??????? ????????? ??? ????? ???? ???? ??? ?????? ??? ??????? ????????? ???? ?? ????????? ????, ???? ?? ????? ?? ???? ???WebMethod??????? ?????? ??? ?? XML ??? ?? ??? ??? ????? ????? ?? ???? ????? - ???? ?? ??? ????? ??? ???? ??????? ??????XMLDocService???? ???? ???? ??? ????? ??:
[WebMethod]
public XmlDocument GetXmlDocument()
{
// Create an XmlDocument object.
XmlDocument xmlDocumentObject = new XmlDocument();
XmlDocumentObject.LoadXml("<book genre=\"novel\" publicationdate=\"1997\" " +
" ISBN=\"1-861001-57-5\">" +
" <title>Pride And Prejudice</title>" +
" <author>" +
" <first-name>Jane</first-name>" +
" <last-name>Austen</last-name>" +
" </author>" +
" <price>24.95</price>" +
"</book>");
// Return the created XmlDocument object.
return( XmlDocumentObject );
}[WebMethod]
public string GetFirstName( XmlNode XmlNodePassed )
{
// Create a new XmLDocument object.
XmlDocument XmlDocumentObject = new XmlDocument();
// Load the XmlNode into the XmlDocument object.
XmlDocumentObject.LoadXml( XmlNodePassed.OuterXml );
// Find the first name of the author.
XmlNodeList XmlNodeListObj = XmlDocumentObject.GetElementsByTagName( "first-name" );
// Return the first name.
return XmlNodeListObj[ 0 ].ChildNodes[ 0 ].Value;
} - ????? ????????????? ??,??????? ????????? ???? ????? ???
- XML ??? ???? ?? ??????? ???? ?? ??? XMLDocService.asmx XML ??? ???? ????? ?????? ??? ?? ?? ????? ?? ????? ???? ?? ??? ??????? ???????? ??? ??, URL ?? http://localhost/XMLDocService/XMLDocService.asmx. Microsoft asp.NET ?????? ???? ???? XML ??? ???? ??? ????? XML ??? ?? ????? ???? ?? ?? ????? ?? XML ??? ???? ?? ??????? ??????? ?? ??????? ???? ?? ??? ?? ????? ?? ????? ?? ?? ???? ????
- Visual Studio .NET, ??? ????? ???????????? ????????????, ?? ???? ????????????.
- ?????????????? ??????????, ????? ????????? C# ??????????? ????-????? ????, ?? ???? ???????? ??????????????????????????
- ?? ????????? ??? ?????? ?? ??? ??? ??????XMLDocService??? ?????
?? ??? ?? ??????? ???????? ?? ?? ???????? ???? ????? ??? ???????? ???? ????? ??, ?? ??? ???????? ???? ?? ?????? ??? ???? ???? ???????? ???? ??? ??? ?? ???????? ?? ??? ?? ?? ?? ???? ?????????? ?????? ?????????? (URI) ?? ??? ??? ???? ?? SOAP ?????? ?? ??? ????- ????? ????????????????? ??,?????? ??? ??????.
- ???????? ?????? ??????????? ????? ???, ??? ???? ??? ?? URL ??????????? ????? ???, ?? ???? ??? ENTER ?????? ??? ?? ??? ???? ?? ????? ???? ?? ??? ??????? ???????? ???, URL ?? http://localhost/XMLDocService/XMLDocService.asmx.
- ????? ????,?????? ??????. ???????? ??? ??, ?? ?? ???? ??? (XMLDocService.vsdisco) ??? ????? ?? URL ????? ?? ????? ??????????? ??? ????? ?? ??? ?????????? ??? ??? XMLDocService ???? ?? ???? ?? ??? ???? ?? ????
- ??????? ??????? ???????????? ?? ?????? Explorer ?? ??? ?? ????? ???? ??? ????? ??? ?????
- ?? ??? ???????? ???????? ?? ??????? ?????XMLDocService??? ????? ??? ????? ??? ?????????????????? ?? ??? ???? ???.:
localhost.XMLDocService myXMLDocService = new localhost.XmlDocService();
- ???????? ???????? ?? ?????? ??????? ????, ????? ??? ?? ????? ????:
XmlDocument myXmlDocumentObject = myXMLDocService.GetXmlDocument();
- ????? ????????????? ??,??????? ??????????? ????????? ????? ???
- ?? ????? ????? ?????? ????? ??????? ???? ??:
?????? 'System.Xml.XmlNode' ?? ??? ' System.Xml.XmlDocument' implicitly ?????? ???? ?? ????
- ???? invocation ?? ????? ?? ???????????? ????:
XmlNode myXMLNodeObject = myXMLDocService.GetXmlDocument();
- ????? ????????????? ??,??????? ??????????? ????????? ????? ??? ?? ????????? ??????????? ??? ???? ????
- ???? ?? ??? ??? ??? ????XmlNode??? ???XmlDocument?? ????? ?? ???????? ????ImportNode????:
XmlDocument myXmlDocumentObject = new XmlDocument();
myXmlDocumentObject.AppendChild(myXmlDocumentObject.ImportNode(myXMLNodeObject,true));
- ?? ???? ?? ????? ??? ???? ?? ?? ??? ???? ?????? ?? ??? ????:
string strFirstName = WebServiceObject.GetFirstName( XmlDocumentObject );
- ???? ?? ????? ??? ????? ?? ??????? ????:
Console.WriteLine( "The first name of the author is: " +strFirstName );
- ????? ????????????? ??,??????? ??????????? ????????? ????? ???
- ????? ???????? ???????? ??,?????????? ????????? ??????
?????? ??????
??? ?? ????? ???? ?? ?? ??? ???? ?????? ?? ????? ??? ??
XmlDocument???? ????????
XmlDocument???????? ??????? ????????? ??? ???? ????? ????? ?????? ????? ??????? ???? ??:
Implicitly ?????? ???? ???? ?? ??? 'System.Xml.XmlDocument' ' System.Xml.XmlNode' ?????
?????? ?? ???? ?? ??????? Microsoft .NET ??? ???? casting ?? ?????? ???? ??? ??
XmlDocument?? ??? ??? marshaled ??
XmlNode. ????? ???? ??
XmlNode???????? ?? ??
XmlDocument??????? ????????
XmlDocument?? ??????? ?? ?? ??
XmlNode.
??? ???, ??????? ???? ?? ???
XmlDocument???????? ?? ???, ???? ?????? ????????? ?????????? ?? ??? ???
XmlNode???????? ??? ??? ?? ???????? ?? ??? ??? ?????
XmlDocument, ???? ????? ????? ?????? ????? ??????? ???? ??:
????????? cast ????? ???? ??
????? ?? ???? ?? ???????
XmlDocument?? ???? ?? ?? ??????? ?? ??? ??? marshaled ?? ??
XmlNode????? ???? ?? ??? ??? ?? ????? ???? ?? ??
XmlNode???????? ?? ??
XmlDocument???????? ???????? (???? casting .NET ??? ?????? ???? ??)?
??? ?????? ????? ?? ??? ???? ???? ?? ???? ??? ???????? ??????? ?? ??? Microsoft ???????? ??? ???? ????? ?? ??? ????? ???? ?????? ?? ????? ????:
308359
(http://support.microsoft.com/kb/308359/EN-US/
)
TO HOW: ????? C# .NET ?? ????? ?? ?? ?????? ??? ???? ?????