2017-04-21 15 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は名前「ノンブル」だけでなく、私はnodoのノンブルとotronodoのノンブルを取得することにより、すべてのノードを検索する場合。

ノードの名前だけを取得できますか?

答えて

0

私はあなたがnodo親を持っているだけ​​値をしたいと思うが、それはあなたがElementのいずれかの子から任意の​​を望むことができます。 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

ありがとうございます。どうもありがとう –

関連する問題