2015-09-15 6 views
0

Я хочу получить значение {namevalue1} из xPath для ниже xml.Найти xpath для значения

<?xml version="1.0" encoding="UTF-8" ?> 
<properties> 
    <entry key="name1">namevalue1</entry> 
    <entry key="name2">namevalue2</entry> 
</properties> 

Что такое xPath для значения1?

+1

'/ свойства/запись [@ key = 'name1'] '... –

+0

@JeffMercado: Мне просто нужно значение, то есть 'namevalue1'. Но выше решение дает мне целую запись ' namevalue1' – nits

+0

Вы делаете это на определенном языке программирования? Это поможет нам дать более целенаправленный ответ. –

ответ

1

Чтобы расширить то, что предложил Джефф, вам необходимо добавить в text(), чтобы получить только текстовый узел:

% < in.xml 
<?xml version="1.0" encoding="UTF-8" ?> 
<properties> 
    <entry key="name1">namevalue1</entry> 
    <entry key="name2">namevalue2</entry> 
</properties> 
% xpquery '/properties/entry[@key="name1"]/text()' in.xml 
namevalue1 
% 
+0

Я не должен использовать какую-либо функцию, например. text() – nits

+0

'text()' не является функцией, это тест типа узла. Единственная цель пустых парнеров - указать XPath, что вы не ищете узел под названием «», – bjimba

1

Попробуйте использовать это:

/properties/entry[@key='name1']/text() 
+0

Я не должен использовать какую-либо функцию, например text(). Есть ли способ сделать это без функции? – nits

+1

Не то, чтобы я знал ... почему вы не можете использовать функции? Они являются частью спецификации Xpath. – JeffFerguson

+0

Функция text() указана в разделе 2.5 спецификации Xpath по адресу http://www.w3.org/TR/xpath/#path-abbrev ... почему она не может быть использована? – JeffFerguson

 Смежные вопросы

  • Нет связанных вопросов^_^