이 xml 파일 "target.xml":XPathNavigator.SelectSingleNode (string xpath)를 사용하여 노드를 선택하는 방법?
<World>
<Nkvavn>
<Rcltwkb>
<Pjwrgsik />
<Nemscmll />
<Fnauarnbvw />
<Egqpcerhjgq />
<Olyhryyxi />
<Vvlhtiee />
<Wlsfhmv />
</Rcltwkb>
<Xudbhnakjb>
<Cwxjtkteuji />
<Fbtcvf />
<Uviaceinhl />
</Xudbhnakjb>
<Kgujcymilwr>
<Nlbvgtwoejo />
<Tvufkvmryybh />
<Xtomstcenmp />
<Mhnngf />
<Fjidqdbafxun />
</Kgujcymilwr>
<Taiyiclo>
<Fiecxoxeste />
<Loqxjq />
<Vfsxfilxofe />
<Hroctladlht />
</Taiyiclo>
</Nkvavn>
<Tfrosh>
<Tuqomkytlp>
<Oyvivlvminhn />
<Qeypvfgul />
<Mbapjl />
</Tuqomkytlp>
<Rvxumtj>
<Gkvigncdvgy />
<Okcddyi />
<Vvmacul />
</Rvxumtj>
<Pdjpgexuyc>
<Yvsdmbckurju />
<Bvkxvg />
<Clmrvjwk />
<Hdafjhydj />
<Asauxtnoe />
<Mwcviwmi />
</Pdjpgexuyc>
</Tfrosh>
</World>
BindCities (string country) 메서드에서 country 요소() 얻으려고하지만 nav 변수를 값을 변경하지 않습니다. country 요소를 사용하여 코드를 실행하면 마지막 위치에 머무르게됩니다. 나는 많은 방법을 시도했지만 아무 것도 효과가 없었다.
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml;
using System.Xml.XPath;
namespace MultipleBoundListBox
{
public partial class Form1 : Form
{
private static XmlDocument xmlDoc;
private static XPathNavigator nav;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
xmlDoc = new XmlDocument();
xmlDoc.Load(@"target.xml");
nav = xmlDoc.DocumentElement.CreateNavigator();
nav.MoveToFirstChild();
var countries = new List<string>();
countries.Add(nav.LocalName);
while (nav.MoveToNext())
{
countries.Add(nav.LocalName);
}
listBox1.DataSource = countries;
BindCities(countries[0]);
}
protected void BindCities(string country)
{
nav.MoveToRoot();
var xpath = "//" + country;
nav.SelectSingleNode(xpath);
nav.MoveToFirstChild();
var cities = new List<string>();
cities.Add(nav.LocalName);
while (nav.MoveToNext())
{
cities.Add(nav.LocalName);
}
listBox2.DataSource = cities;
}
}
}
탐색 XPathNavigator로 country 요소에 도달하려면 어떤 코드가 필요합니까?
답장을 보내 주셔서 감사합니다!
, 나는 심지어 국가 요소를 볼 수 없습니다! :) –
BindCities()의 country 매개 변수에 포함 된 문자열의 이름을 가진 요소의 국가 요소 :이 경우 해당 값은 countries [0]이며 "Nkvavn"입니다. –
또한 XPathVisualizer! http://xpathvisualizer.codeplex.com/releases/66455/download/240321 –