2010-03-04 5 views
6

XmlDocument을 C#의 XmlNode으로 변환하려면 어떻게해야합니까? XmlDocument 개체 전체를 .NET 웹 서비스의 입력 매개 변수로 보내야합니다.XmlDocument 개체를 XmlNode 개체로 변환 - C#?

+0

.NET Framework에서 정의 된 복합 유형은 웹 서비스에 대한 매개 변수로 적합하지 않은 것처럼 보입니다. 서비스가 너의 것이라면, 타입을 문자열로 변경하는 방법을 살펴보아야 할 것이다. 또한 다른 언어/플랫폼에서 쉽게 호출 할 수 있습니다. – TrueWill

+0

@TrueWill - 서비스는 제 것이 아니며 세 번째 paty 공급 업체입니다. –

답변

7

XmlDocument는 XmlNode이므로 문서 개체를 전달할 수 있습니다.

또는 DocumentElement 또는 XPath 쿼리에서 반환 된 노드를 보낼 수 있습니다. 당신이 두 매개 변수 유형에 대한 과부하와 방법에 대한 XmlDocument에서있는 XmlNode를 명확하게 할 필요가없는

XmlDocument doc = null; 
XmlNode node = doc; 

XmlNode node = doc.DocumentElement; 

XmlNode node = doc.SelectSingleNode("/foo/bar"); 

없음 캐스팅 또는 변환이 필요하다. 이 경우 캐스트 또는 as 연산자 중 하나를 사용하십시오.

3

당신은 "같은"하는 XMLNode 사용으로 명시 적으로 참조해야하는 경우 :

XmlDocument doc = ... 

XmlNode node = doc as XmlNode; 
0

XmlDocument를이 XmlNode에서 파생됩니다,하지만 당신은 또한 XMLELEMENT하지만 궁극적으로 파생 된 XmlDocument.DocumentElement를 보낼 수 XmlNode에서. XmlDocument.DocumentElement == null을 체크인해야 할 수도 있습니다.

관련 문제