如何选择非空子元素

时间:2014-11-08 20:03:32

标签: xml xpath

我需要输出非空的节点子节点的所有信息。

我目前(不工作):Country/State/cities/city[string-length(*) != 0]/*

每个城市元素都有4个子节点:name,population,size,foundingDate。

我需要打印所有州的所有城市的所有信息,但只显示不为空的值。

奇怪的是,我知道。

这样做的正确方法是什么?

编辑:这就是XML的形成方式。 (我把上面的路径写错了,但修好了。)当然有多个State和City元素。

<Country>
  <State>
    <Name>stateName</name>
    <Cities>
      <City>
        <Name>cityName</Name>
        <Population>popNum</Population>
        <Size>citySize</Size>
        <foundingDate>foundingYear</foundingDate>
      </City>
    </Cities>
  </State>
</Country>

目标是输出没有空值的国家/地区的所有城市信息。 (XML值尚未完成,但仍需要进行搜索。)

1 个答案:

答案 0 :(得分:1)

使用此XPath选择所有City元素中具有非空StateNamePopulation和{{1}的所有Size元素孩子:

foundingDate

更新

演示here