2011-12-26 3 views
2

Это мой XML:PHP оценка XPATH

<?xml version="1.0" encoding="ISO-8859-1"?> 
<Translation language="en-US"> 
    <Field Name="SenderName">QueWay</Field> 
    <Field Name="PasswordRecovery">Password Recovery</Field> 
</Translation> 

Теперь я хочу с PHP, чтобы выбрать текст "QueWay" с помощью XPath. То, что я до сих пор так хорошо:

$xml = new DOMDocument; 
$xml->load('../xdata/xml/translation/en-US/emails.xml'); 

$xpath = new DOMXPath($xml); 
$hrefs = $xpath->evaluate("/Translation/Field[@Name = 'SenderName']"); 

var_dump($hrefs); 

И что это дает мне это объект, который я не могу повторить его ...

Может кто-нибудь мне помочь?

ответ

2

DOMXPath::evaluate() возвращает DOMNodeList. Вы можете получить доступ к данным элемента следующим образом:

$name = $hrefs->item(0)->nodeValue; // QueWay 
+0

Оу, спасибо, работает отлично. Итак, DOMNodeList практичность возвращает список/массив чего? Все звенья, узлы ...? – Master345

+2

@RowMinds: 'DOMNodeList' - это объект, в котором хранится' DOMNode', доступ к которому возможен с помощью метода 'item()'. –

+0

ОК, я понимаю, знаю совершенно ясно, спасибо :) – Master345

0

Теперь я хочу с PHP, чтобы выбрать текст «QueWay» с помощью XPath.

Выражение XPath, что при оценке производит эту строку в:

string(/*/Field[@Name='SenderName']) 
Смежные вопросы