2012-06-23 3 views
-1

: 또는 /을 포함하는 파일을 C#을 사용하여 구문 분석 할 수 있습니까?xml 파일을 다음과 같이 구문 분석 할 수 있습니까?// C#

이 에러 표시 :

유형 'System..Exception'처리되지 않은 예외가 발생 System..dll

추가 정보 : / 문자, 16 진수 값 0x2F 될 수 이름에 포함. 나는이 파일을 구문 분석 할 때

는 :

+2

xml을 구문 분석하는 데 사용하는 코드를 표시 할 수 있습니까? 예외적으로 "System..dll"이 이상하게 보입니다. – Douglas

+1

전체 예외 정보를 적어주세요. – GregRos

+0

var 요소 = XMLDoc.Root.Elements ("미니") 요소 (advanceType). 요소 ("predicate"); – Mira

답변

1

을 코드

XDocument xDoc = XDocument.Parse(xml); 
var result = xDoc.Descendants("Album") 
    .Select(n => new 
    { 
     Album = n.Attribute("URI").Value, 
     Predicates = n.Elements("predicate").Select(p=>p.Value).ToArray() 
    }) 
    .ToArray(); 
0

작동 아래 난 당신이 XML을 구문 분석 LINQ2XML를 사용하여 XML로 문제를 볼 수 없습니다.

XElement xel = XElement.Load(filePath); 
//you can even load the XML from a string/stream etc also.... 

if (xel != null) 
{ 
    foreach (var mini in xel.Elements("mini")) 
    { 
     foreach (var album in mini.Elements("Album")) 
     { 
      string attrValue = album.Attribute("URI").Value; 
      foreach (var predicate in album.Elements("predicate")) 
      {       
       string content = predicate.Value; 
      } 
     } 
    } 
} 
+0

다른 'Album' 태그가 있다면 이것은 작동하지 않습니다. 복사하면 출력에 20 개의 술어가 표시됩니다 (10 대신). –

+0

@ L.B : Ofcourse가 작동합니다. 그래서 내가 foreach를 사용했다. 그것은'mini' 엘레멘트의 수와 'Albums' 엘레멘트의 수와'predicate' 엘레멘트의 수를 다룰 것입니다. – Shyju

+0

의견을 말하기 전에 코드에 대해 내가 한 것처럼 테스트하십시오. –

관련 문제