XmlSearch无法识别xPath

时间:2011-09-30 20:52:39

标签: xml coldfusion

我有一个像这样的xml文档

<cfxml variable="mydoc">
    <?xml version="1.0" encoding="UTF-8"?>
    <Feed xmlns="http://www.example.com/xs/PRR/SyndicationFeed/4.9" name="Test">
        <Product id="test1" removed="false">
            <Source>Widget</Source>
            <ExternalId>Widget01</ExternalId>
            <Name>iWidget 3G</Name>
            <NumReviews>11</NumReviews>
        </product>
    </Feed>
</cfxml>

我想返回NumReviews节点文本。但是:

numReviews = XmlSearch(mydoc, "/Feed/Product/NumReviews");返回一个空数组。

numReviews = XmlSearch(myDoc, "//*[local-name()='NumReviews']");返回节点文本。

据我所知,第一行代码是正确的,应该返回NumReviews的值。为什么它会返回一个空数组呢?

3 个答案:

答案 0 :(得分:6)

当有名称空间时,numReviews = XmlSearch(mydoc, "/:Feed/:Product/:NumReviews");之类的东西也应该有效。

答案 1 :(得分:4)

它可能是名称空格。我认为在涉及名称空间时需要第二种语法。我知道我必须自己使用它。

答案 2 :(得分:0)

您在第一个示例中使用反斜杠。它们应该是前沿,对吧?