我有这样的XML

<OuterTag>
       <Name>JAVA
      </Name>
<InnerTag>
     <Name> PHP
    </Name>
</InnerTag>

</OuterTag>


我只想要包含“ Java”的值。但是当我解析时,它也会带来“ PHP”,因为本地名称是相同的。是否可以过滤多个LocalName并选择所需的LocalName?我怎样才能做到这一点?

最佳答案

想法是保存您所处的状态,仅使用布尔值,如果找到“ OuterTag”的打开标签,则将其设置为true,而当找到“ InnerTag”的打开标签时,将其设置为false。

这样,当您找到“名称”标签时,您现在就在其中。

另一种更灵活的方法是在找到标签名称时将其推送/弹出。这样,您可以在找到“名称”标签后检查谁是您的父标签,然后获取正确的值。

07-25 21:27
查看更多