2011-12-26 75 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 2011-12-26 22:14:08

+2

@RowMinds:'DOMNodeList'是一个存储'DOMNode'的对象,可以用'item()'方法访问。 – 2011-12-26 22:16:52

+0

好吧,我明白知道得很清楚,谢谢:) – Master345 2011-12-26 22:17:54

0

现在我想用PHP来选择文本“QueWay”使用XPath。

的XPath表达式求值时产生的字符串是

string(/*/Field[@Name='SenderName'])