2011-09-23 2 views
0

XML 파일에서 개체를 채우는 데 문제가 있습니다. 나는 거의 정확하게 발견 한 예제를 변수 이름을 변경하여 복사했지만, "Enumeration 결과 없음"예외는 계속 발생합니다.LINQ to XML. 열거로 결과가 없습니다.

Dim element As XElement = XElement.Load(path) 

    Dim itemProps = From p In element...<Property> _ 
       Where p.<LanguageCode>.Value = "en_us" _ 
       Select p.<Title>.Value, p.<Description>.Value 

중단 점을 사용하여, 나는 '요소'변수가 제대로 XElement.Load (경로) 메소드를 사용하여 채워되고 있음을 확인했다 :

여기 내 코드입니다.

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<Items> 
    <Item ItemID="1"> 
    <Property ItemPropertyID="1"> 
     <Title>Title1</Title> 
     <Description>Description1</Description> 
     <LanguageCode>en-us</LanguageCode> 
    </Property> 
    </Item> 
    <Item ItemID="2"> 
    <Property ItemPropertyID="2"> 
     <Title>Title2</Title> 
     <Description>Description2</Description> 
     <LanguageCode>en-us</LanguageCode> 
    </Property> 
    </Item> 
    <Item ItemID="3"> 
    <Property ItemPropertyID="3"> 
     <Title>Title3</Title> 
     <Description>Description3</Description> 
     <LanguageCode>en-us</LanguageCode> 
    </Property> 
    </Item> 
    <Item ItemID="4"> 
    <Property ItemPropertyID="4"> 
     <Title>Title4</Title> 
     <Description>Description4</Description> 
     <LanguageCode>en-us</LanguageCode> 
    </Property> 
    </Item> 
    <Item ItemID="5"> 
    <Property ItemPropertyID="5"> 
     <Title>Title5</Title> 
     <Description>Description5</Description> 
     <LanguageCode>en-us</LanguageCode> 
    </Property> 
    </Item> 
    <Item ItemID="6"> 
    <Property ItemPropertyID="6"> 
     <Title>Title6</Title> 
     <Description>Description6</Description> 
     <LanguageCode>en-us</LanguageCode> 
    </Property> 
    </Item> 
</Items> 

본질적으로, XML 쿼리는 제목과 동일 언어 코드라는 요소가 모든 속성에 대한 설명을 반환하도록되어 : 여기

액세스되고있는 XML 파일입니다 "en-us". 내 문제는 내 XML 코드에 있다고 느끼지만, 오랫동안 여기에 갇혀있었습니다. 도와주세요.

답변

2

"en_us"는 "en-us"여야합니다. :).

귀하의 답변을 제출할 수 없습니다 :

본문은 30 자 이상이어야합니다. 입력했습니다.

있습니다. 이제 그것은 28 이상입니다.

+0

+1,하지만 당신은 속임수 때문에 그것을받을 가치가 없습니다. P – alf

+0

와우, 나는 그것을 놓쳤다는 것을 믿을 수 없습니다. – user961794

+0

거룩한 C ** P도 ... 나는 그 중 하나를 보지 못했습니다 .. * 자기 * 때리는 :-) – shawty

0

시도하기 때문에,

Dim itemProps = From p In element...<Property> 

만 그건 그냥 하나 개의 점을 시도 작동하지 않으면 아래 2

를 이동해야 할 때 귀하가 아래 3 단계를 진행 중 점 중 하나를 복용 본질적으로 당신의 여행은 문서의 뿌리보다 1 아래에 있습니다.

+0

1 도트가 작동하지 않으며 2 도트로 인해 "식별자 예상"빌드 오류가 발생합니다. – user961794

+0

사실 점 수는 XML 파일의 레벨 깊이를 나타내는 것이 아니라 LINQ to SQL 구문의 일부일뿐입니다. – user961794

+0

진실을 알기 만하면 나는 변덕을 겪고 있었다. 보통 VB를 사용하지 않았기 때문에 때로는 문법으로 인해 C#에서 중첩 수준이 중요하지만 여러 개를 사용하여 표현되지는 않는다. 요소/요소 호출의 여러 중첩. – shawty