【问题标题】:XML DTD - xPath 1.0XML DTD - xPath 1.0
【发布时间】:2012-06-27 13:43:44
【问题描述】:

我有这个 dtd:

<!ELEMENT db (obj, prop*)>
<!ELEMENT obj (obj*)>
<!ATTLIST obj
    id ID #REQUIRED
>
<!ELEMENT prop (#PCDATA)>
<!ATTLIST prop
    objs IDREFS #REQUIRED
>

我需要编写一个 xPath,它返回所有“prop”,其中“objs”包含带有孩子的“obj”。 例如:

<db>
    <obj id="a007">
    <obj id="a008"> </obj>
        <obj id="a009">
            <obj id="a011"> </obj>
        </obj>
    </obj>   
    <obj id="a011"> </obj>
    <prop objs="a007 a011">
        "first"
    </prop>
    <prop objs="a007">
        "second"
    </prop>
    <prop objs="a009 a007">
        "third"
    </prop>
</db>

a 希望它返回第二个和第三个。

【问题讨论】:

    标签: xml xpath


    【解决方案1】:

    尝试路径/db/prop[not(id(@objs)[not(obj)])],它会选择db 根元素的prop 元素子节点,其中id(@objs) 找不到没有obj 子元素的元素。

    【讨论】:

      猜你喜欢
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 2014-03-13
      • 2012-09-22
      • 2016-04-23
      • 1970-01-01
      相关资源
      最近更新 更多