2011-07-28 4 views
0

나는이 오류가 계속 발생하고 잘못된 일을 볼 수 없습니다.ListView 오류에 대한 XML

다음은 코드

private void _FixSave_Offline_Load(object sender, EventArgs e) 
{ 
    System.Xml.XmlDocument NewGame = new System.Xml.XmlDocument(); 
    NewGame.Load(Application.StartupPath + "//Files//Checks_Offline.xml"); 

    foreach (System.Xml.XmlNode nameNode in NewGame.SelectNodes("//Games//NewGame")) 
    { 
     listView1.Items.Add(nameNode.Attributes["Name"].InnerText); 
    } 
} 

입니다 그리고 여기

<Games> 
<NewGame> 
    <Name></Name> 
    <Check></Check> 
    <Static></Static> 
    <Location></Location> 
    <Start></Start> 
    <Length></Length> 
    <FoundBy></FoundBy> 
    <Verified></Verified> 
</NewGame> 

가 여기하는 XML 레이아웃을 내가

Error Message

및 Visual Studio가 계속 오류입니다 다음 코드를 강조 :

listView1.Items.Add(nameNode.Attributes["Name"].InnerText); 

나는 "/"뿐만 아니라 "/"도 사용하여이 문제를 해결할 수있는 모든 것을 환영 할 것입니다. b/c 저는 평생 동안 그럴 수 없습니다. 잘못하고있다.

+0

'nameNode' 객체가 null이거나'nameNode.Attributes [ "Name"]'null입니까? Attributes 콜렉션에서 일어나고있는 경우, "Name"이라는 이름의 현재 노드에서 속성을 찾을 수 없습니다. – jdmonty

답변

2

"Name"이라는 이름으로 속성을 찾고 있지만 예제의 XML 요소에는 속성이 없습니다.

foreach (System.Xml.XmlNode nameNode in NewGame.SelectNodes("//Games//NewGame/Name")) 
{ 
    listView1.Items.Add(nameNode.Value); 
} 

당신은 당신의 XML 문서의 실제 구조에 따라, XPath 식으로 비트를 연주 할 수 있습니다

나는 당신이 이름 노드의 내용을 원하는 생각합니다.

0

나는 어떤 이유로 당신의 XML 예제를 볼 수 있지만, 당신은 또한, 속성/요소는 바로 "이름"을 입력했는지 확인

Elements and Attributes 사이를 구별하고 있는지 확인 할 수 없었다. 나는 그것이 대소 문자를 구분한다고 생각한다.

-

편집 : 이제 당신의 XML을 볼 수 있어요, "이름"이 아니라 속성보다는, 실제로 요소 것으로 보인다.

대신 Item 속성이나 Value 속성을 사용해보십시오.

0

나는 그것을 작동시켰다. 오류는 virtuallist = true 때문인 것으로 나타났습니다. Tim 저는 원하는 결과를 얻기 위해 코드를 약간 수정했습니다. 앞으로 참조 할 때 사용할 수있는 코드는 다음과 같습니다.

private void _FixSave_Offline_Load(object sender, EventArgs e) 
{ 
    System.Xml.XmlDocument NewGame = new System.Xml.XmlDocument(); 
    NewGame.Load(Application.StartupPath + "//Files//Checks_Offline.xml"); 

    foreach (System.Xml.XmlNode nameNode in NewGame.SelectNodes("//Games//NewGame/Name")) 
    { 
     listView1.Items.Add(nameNode.InnerText); 
    } 

} 

다음은 주어진 결과에 대한 간단한 스크린 샷입니다. 이뿐만 아니라 다른 사람을 도움이

Screen Shot Of Result

희망. 위의 사람들에게 감사의 말을 전하고 Tim에게 큰 감사를드립니다.

관련 문제