2012-09-26 1 views
0

xml 요소에 대한 라우팅 (경로)을 만들고 변수에 할당하여 나중에 에 액세스 할 수있게하려고합니다. 다른 요소의 하위 요소 인 요소는 문서 에서 위치를 변경할 수 있으므로 첫 번째 자식 또는 위치에 의존하는 인덱싱과 같은 메서드를 사용할 수 없습니다. 요소에 대한 경로는 항상 일정하며 그와 같은 다른 경로는 없습니다. 간단한 예제를 보면 level4 값 (header4)에 대한 경로가 필요하므로 수정할 수 있습니다.C#에서 XML 요소에 대한 경로를 만드는 방법

<level1> 
    <level2> 
     <level3>header3</level3> 
      <level4>header4</level4> 
     <level3>header31</level31> 
    </level2> 
    <level2> 
     <level3>nnn</level3> 
     <level3>nnnnn</level31> 
    </level2> 
</level1> 
+1

@ google for XPath' –

+0

@AlexeiLevenkov lol whoops. 바보 나. 긴 하루였습니다. –

답변

3

.

XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.Load("Path of the xml"); 
XmlNode titleNode = xmlDoc.SelectSingleNode("//level1/level2/level3"); 
1

이 경우 XPath를 사용할 수 있습니다. 하나 개 이상의 레벨 4가있을 수 있다면

XmlDocument doc; // assuming the xml is already in doc 
XmlNode node = doc.SelectSingleNode("/level1/level2/level3/level4"); 
if(node != null) 
{ 
    node.InnerText = "New value"; 
} 

당신은이 작업을 수행 할 수 있습니다 : 당신은 그 경우에 XPath를 사용할 수있어

XmlDocument doc; // assuming the xml is already in doc 
XmlNodeList nodes = doc.SelectNodes("/level1/level2/level3/level4"); 
if(nodes != null) 
{ 
    foreach(XmlNode node in nodes) 
    { 
     node.InnerText = "New value"; 
    } 
} 
관련 문제