2010-08-10 2 views
0

Я не следующий XML-документ:XPath запрос для разбора файла свойств XML

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
<properties> 
    <comment>My Happy Configuration</comment> 
    <entry key="HappyKey">Happy Key</entry> 
    <entry key="SadKey">Sad Key</entry> 
    <entry key="AngryKey">Angry Key</entry> 
    <entry key="ConfusedKey">Confused Key</entry> 
    ... 
</properties> 

Я выполнив следующий XPATH запрос:

/properties/entry[@key='HappyKey'] 

Я предвосхитить это вернуть HappyKey, однако она возвращает ничего ,

+3

В каком контексте вы используете этот XPath? Можете ли вы опубликовать код, который его использует? Выражение xpath выглядит корректно протестированным [здесь] (http://chris.photobooks.com/xml/default.htm) с вашим документом xml. – Oded

+0

Im работает это из контекста InstallBuilder, я не буду проверять это до завтра, хотя – Woot4Moo

+0

@Oded, на вашей странице есть ошибка. Xml не удалось выполнить правильно. Вы можете исправить это. –

ответ

2

Если вы ищете значение только тогда попробуйте:

/properties/entry[@key='HappyKey']/text() 
+1

XPath - это размещенный язык. Таким образом, чтобы получить доступ к строковому значению элемента 'entry' или строковому значению всех текстовых узлов дочерних элементов элемента' entry' (это то, что означает ваше выражение), является вопросом языка хоста. – 2010-08-10 22:49:11

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