2017-04-21 1 views
0

이 경우 getelementesbytagname ("") 함수를 사용하여 xmlnodelist의 모든 요소를 ​​가져 오지만 때로는 이와 비슷한 것을 가질 수 있습니다.# xml 요소에서 동일한 태그 이름

<?xml version="1.0" encoding="UTF-8" ?> 
<Element xsi:schemaLocation="http://localhost/AML/CaseInvestigationMangement/Moduli/XmlImportControls/xsdBorrow.xsd xsd2009027_kor21.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<nodo> 
    <nombre>nodo1</nombre> 
    <dato>1</dato> 
    <otronodo> 
     <nombre>nododentrodenodo</nombre> 
     <dato2>23</dato2> 
    </otronodo> 
</nodo> 
<nodo> 
    ... 
</nodo> 
</Element> 

y는 이름이 "브레"물론 내가 얻을은 있소의 브레과 otronodo 브레 모든 노드를 검색하는 경우.

노도 노드의 이름 만 얻을 수 있습니까?

답변

0

나는 당신이 nodo 부모가 단지 nombre 값을 원하는 생각하지만, 그것은 당신이 Element의 자식에서 모든 nombre을 할 수도 있습니다. XPath와 SelectNodes을 사용하면 둘 중 하나를 수행 할 수 있으므로 두 가지를 모두 포함했습니다. SelectNodesGetElementsByTagName()처럼 XmlNodeList을 반환합니다.

var doc = new XmlDocument(); 

doc.LoadXml(@"<?xml version=""1.0"" encoding=""UTF-8"" ?> 
<Element> 
    <nodo> 
     <nombre>nodo1</nombre> 
     <dato>1</dato> 
     <otronodo> 
      <nombre>nododentrodenodo</nombre> 
      <dato2>23</dato2> 
     </otronodo> 
    </nodo> 
    <nodo> 
     <nombre>nodo2</nombre> 
    </nodo> 
    <frodo> 
     <nombre>frodo nodo</nombre> 
    </frodo> 
</Element> 
"); 

// Any nombre whose parent is a nodo 
var nodosNombres = doc.DocumentElement.SelectNodes("//nodo/nombre"); 

// Any nombre belonging to any child of Element 
var topNombres = doc.DocumentElement.SelectNodes("/Element/*/nombre"); 
+0

감사합니다. 많은 감사 –

관련 문제