Использование System.Xml.Xpath.XPathSelectElement, где xpath содержит предложение where - PullRequest
0 голосов
/ 29 марта 2012

У меня вопрос: поддерживает ли метод XPathSelectElement предложение where в запросе xpath?

Вот пример того, что я пытаюсь сделать:

var element = coreXml.XPathSelectElement(configuration/system.serviceModel/client/endpoint[@name='SomeService']);

Когда я запускаюэто мне возвращается 'NULL' на основе следующего XML:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>
        <client>
            <endpoint address="http://localhost:40901/SomeService/" binding="basicHttpBinding" contract="SomeContract" name="SomeService"/>
        </client>
    </system.serviceModel>
</configuration>

С уважением.

1 Ответ

2 голосов
/ 29 марта 2012

Я не могу воспроизвести проблему, я сохранил ваши образцы XML как «XMLFile2.xml» в консольном проекте C #, затем исправил ваш пример кода, чтобы обернуть выражение XPath, переданное XPathSelectElement, в двойные кавычки и сделал следующий пример кода:

    XDocument coreXml = XDocument.Load("../../XMLFile2.xml");
    var element = coreXml.XPathSelectElement("configuration/system.serviceModel/client/endpoint[@name='SomeService']");
    Console.WriteLine(element == null);

Он выводит "False".

Так что в вашем реальном коде что-то другое.

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