를 사용하여 자식 요소를 선택하는 방법 :XML 내가 다음 그림에 표시된 다음 XML있어 XPath를
하지만 내 인생, 선택 코드를 얻을 수 없다 집 요소는 <ArrayOfHouse>
사이입니다.
나는 그것이 하나를 선택 얻는 것을 처리 한 후, 여기에 지금까지 내 코드의 하나 개 이상의 House
요소가 될 것입니다 : 내가 관리해야하기 때문에,
// Parse the data as an XML document
XDocument xmlHouseResults = XDocument.Parse(houseSearchResult);
// Select the House elements
XPathNavigator houseNavigator = xmlHouseResults.CreateNavigator();
XPathNodeIterator nodeIter = houseNavigator.Select("/ArrayOfHouse/House");
// Loop through the selected nodes
while (nodeIter.MoveNext())
{
// Show the House id, as taken from the XML document
MessageBox.Show(nodeIter.Current.SelectSingleNode("house_id").ToString());
}
내가 XML의 스트림을 받고 있어요 위에 표시된 MessageBox에 데이터를 표시하지만 개별 집에 연결할 수는 없습니다.
var houses = XDocument.Parse(houseSearchResult).Descendants("House");
foreach(var house in houses)
{
var id = house.Element("house_id");
var location = house.Element("location");
}
또는 직접 강력한 형식의 개체를 가져 Select
를 사용할 수 있습니다 :
왜 XML 직렬화를 사용하지 않습니까? 이 XML은 분명히 XML 직렬화로 생성되었으므로 아마도 가장 자연스러운 솔루션 일 것입니다. –
[XPath Visualizer] (http://xpathvisualizer.codeplex.com/)를 사용하여 XML에 대한 XPath 쿼리를 테스트 해보십시오. – Lukazoid