XmlSearch не распознает xPath - PullRequest
       2

XmlSearch не распознает xPath

1 голос
/ 01 октября 2011

У меня есть 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 ]

6 голосов
/ 01 октября 2011

Что-то вроде numReviews = XmlSearch(mydoc, "/:Feed/:Product/:NumReviews"); также должно работать при наличии пространств имен.

4 голосов
/ 01 октября 2011

И это могут быть пространства имен. Я думаю, что ваш второй синтаксис необходим, когда задействованы пространства имен. Я знаю, что должен был использовать это сам.

0 голосов
/ 01 октября 2011

Вы используете обратную косую черту в первом примере. Они должны быть передними, верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...