读取给定父节点的所有叶节点
本文关键字:叶节点 父节点 读取 | 更新日期: 2023-09-27 18:35:02
我需要给定父节点主体下的叶节点列表。基本上我想要所有的节点,比如11 和 10来自以下 XML。
我试过这个,但它带来了所有的节点。[不是((]
例如,我想给这样的东西 var vNode= nodeBody.SelectNodes("Body"+@"//[not((]"(;
它应该是正文下的所有叶节点。
<MAIN Txt="PC">
<BODY Txt="TC">
<Element_3 Txt="OC">
<Element3_ID Name="yoy">10</Element3_ID>
</Element_3>
<Element_3 Txt="TRO">
<Element_4 Txt="SSO">
<Element4_ID Name="JOY">11</Element4_ID>
<Element4_ID Name="TOY">13</Element4_ID>
<Element4_ID Name="POY">14</Element4_ID>
<Element4_ID Name="SOY">17</Element4_ID>
<Element4_ID Name="GOY">18</Element4_ID>
<Element4_ID Name="FOY">19</Element4_ID>
</Element_4>
</Element_3>
</BODY>
</MAIN>
使用路径.//node()[not(node())]
选择没有任何子节点的所有后代节点,这将为您提供任何空元素节点和所有文本节点,或使用.//*[not(*)]
选择不包含任何其他元素节点的所有后代元素节点。如果不想选择完全空的元素节点,请使用 .//*[not(*) and normalize-space()]
。