2012-09-29 1 views
-1

XML 데이터를 제공하는 링크가 있습니다. 내 응용 프로그램에서 데이터를 처리하고 싶습니다.C#을 통해 XML 읽기

C#에서이를 처리하는 방법은 무엇입니까?

XmlReader를 통해

또는 내가 XML 데이터

최적의 방법은 하나입니다

을 다운로드해야합니까?

+5

** System.Linq.Xml ** 네임 스페이스 읽고 당신은 공급의 어떤 종류에서 XML 데이터를받을 수 있다고 – user1406062

+0

XMLS를 조작하는 좋은 라이브러리가 포함되어 있습니다. 어쩌면 JSON을 대신 지정할 수 있습니까? JSON은 Xml과 거의 동일하지만 JSON을 훨씬 쉽게/더 재미있게 처리 할 수 ​​있습니다. 많은 웹 서비스가 Xml과 JSON 모두에서 응답 할 수 있습니다. –

답변

3

을 도움이되기를 바랍니다

XmlTextReader xmlreader = new XmlTextReader(Server.MapPath("filename.xml")); 
DataSet ds = new DataSet(); 
ds.ReadXml(xmlreader); 
DataTable dt = new DataTable(); 
dt = (DataTable)ds.Tables[0]; 

읽기

using (WebClient wc = new WebClient()) 
    {    
     string xml = wc.DownloadString(url); 

     XmlDocument xmlDoc = new XmlDocument(); 
     xmlDoc.LoadXml(xml); 

    } 

아니 당신은 해당 xmldoc

을 구문 분석 System.Xml.Linq을 사용할 수 있습니다 당신은 객체 그래프로 다시받을 문자열을 역 직렬화 할 수 XmlSerializer를 사용
// Create the query 
var custs = from c in xmlDoc.Elements("Customers") 
      select c ; 

// Execute the query 
foreach (var customer in custs) 
{ 
    Console.WriteLine(customer); 
} 
+0

감사합니다. 그것의 일. – Shan

0

나는 Linq 스타일로 XML을 쿼리하는 것이 매우 간단하기 때문에 XDocument을 사용합니다. 매우 특별한 필요 사항이나 제약 조건을 제외하고는 가장 편리한 방법입니다.

0

먼저 XML이 코드를 사용할 수 있습니다 다음 XML 파일에 데이터를 다운로드하고 난 당신이처럼 링크에서 XML 문서를 얻을 수있는이 당신에게

0

는 :

public T Deserialize<T>(string xml) 
{ 
    T deserialized; 
    XmlSerializer xmlSerializer= new XmlSerializer(typeof(T)); 
    using (StringReader stringReader = new StringReader(xml)) 
    { 
     var xmlReaderSettings = new XmlReaderSettings(); // 
     using (XmlReader xmlReader = XmlReader.Create(stringReader, xmlReaderSettings)) 
     { 
      xmlReader.MoveToContent(); 
      deserialized = (T)xmlSerializer.Deserialize(xmlReader); 
     } 
    } 
    return deserialized; 
} 
0

이미지를 다음을 참조하십시오.

enter image description here

당신은 네임 스페이스 다음이 필요합니다 : 에서 System.Xml; 는 XPath는이, 여기로 이동 어떻게 작동하는지 확인하려면 : http://www.w3schools.com/xpath/default.asp