2017-03-17 12 views
-4

이 외부 소스이 형식의 XML을 어떻게 파싱 할 수 있습니까? 그것은 내가 쉽게 해석 한 수 한 아래 같은 것이 있었다면

<d:entry id="_qkq" d:title="DuMont Television Network"> 
     <d:index d:value="DuMont Television Network" d:title="DuMont Television Network"/> 
     <d:index d:value="dumont tv" d:title="DuMont Television Network"/> 
     <d:index d:value="dumont network" d:title="DuMont Television Network"/> 
     <h1>DuMont Television Network</h1> 
     some value etc 
</d:entry> 

에서 내가 가지고있는 현재의 형식입니다. 그래서 어떤 생각을 어떻게 아래처럼 구문 분석하거나 아래의 형식으로 변환 할 수 있습니까?

<entry> 
    <entryId>_qkq</entryId> 
    <entryTitle>DuMont Television Network</entryTitle> 
    <entryIndex> 
     <value>DuMont Television Network</value> 
     <title>DuMont Television Network</title> 
    </entryIndex> 
    <entryIndex> 
     <value>dumont tv</value> 
     <title>DuMont Television Network</title> 
    </entryIndex> 
    <entryIndex> 
     <value>dumont network</value> 
     <title>DuMont Television Network</title> 
    </entryIndex> 
    <entryValue> 
     <h1>DuMont Television Network</h1> 
     some value etc 
    </entryValue> 
</entry> 

당신에게 대답

주셔서 대단히 감사
+0

다음을 사용할 수 있습니다. https://msdn.microsoft.com/de-de/library/system.xml.linq.xelement(v=vs.110).aspx –

+3

이전에 댓글을 반복하겠습니다. 너 트라이 이 질문을하는 d. 이것은 코드 작성 서비스가 아니며, 무언가를 시도하고 [MCVE]를 제공하는 특정 문제로 되돌아옵니다. – TheLethalCoder

+0

더 쉽게 만들 수 있도록 요소 이름의'd :'부분을 파싱하거나 속성에 액세스하는 데 문제가 있습니까? – TheLethalCoder

답변

2

좋아,이 매우 용이하고 많은 여러 가지 방법으로 수행 할 수 있지만, 개발의 용이성 :

  1. 이 XML에 대한 클래스를 생성 - Visual Studio에서 새 코드 파일을 만듭니다. 전체 XML을 클립 보드로 복사하십시오. Edit-paste special - Paste XML as classes을 클릭하십시오.
    이것은 루트가 dictionary 인 필요한 클래스를 제공합니다.

    screenshot

    :

    var data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \r\n<d:dictionary xmlns=\"w3.org/1999/xhtml\" xmlns:d=\"apple.com/DTDs/DictionaryService-1.0.rng\">\r\n\t<d:entry id=\"_qkq\" d:title=\"DuMont Television Network\">\r\n\t\t<d:index d:value=\"DuMont Television Network\" d:title=\"DuMont Television Network\"/>\r\n\t\t<d:index d:value=\"dumont tv\" d:title=\"DuMont Television Network\"/>\r\n\t\t<d:index d:value=\"dumont network\" d:title=\"DuMont Television Network\"/>\r\n\t\t<h1>DuMont Television Network</h1>\r\n\t</d:entry>\r\n</d:dictionary>"; 
    
        XmlSerializer serializer = new XmlSerializer(typeof(dictionary)); 
        using (TextReader reader = new StringReader(data)) 
        { 
        dictionary result = (dictionary)serializer.Deserialize(reader); 
        } 
    

result 이제 데이터를 포함 : 당신이 다음을 수행 할 수 있습니다 어떤 필요한 파일에

  • 그런 다음, (당신이 원하는 경우에 내가 생성 된 목록을 추가 할 수 있습니다)