我有这个代码
$XMLTranslationObject = new DOMDocument();
$XMLTranslationObject->load("../xdata/xml/translation/en-US/profile.xml");
$Xpath = new DOMXpath($XMLTranslationObject);
$Result = $Xpath->evaluate("Field[@Name = 'AttachedFiles']")->nodeValue;
echo $Result;
和xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<Translation language="en-US">
<!-- Basic Begin -->
<Field Name="SiteName">Brainfavor</Field>
<Field Name="Error">Error</Field>
<!-- Basic End -->
<!-- Header Begin -->
<Field Name="Name">Name</Field>
<Field Name="WorkingAt">Working at</Field>
<Field Name="Phone">Phone</Field>
女巫给了我以下错误
注意:未定义的属性:C:\xampp\htdocs\brainbook\profile\loadmore.php 中第 30 行的 DOMNodeList::$nodeValue
我想要的只是检索字段名称所在行的值AttachedFiles
,只需运行一个简单的 Xpath 查询并检索结果。使用 XSLT 很容易
<xsl:value-of select="$TranslationProfile/Field[@Name = 'AttachedFiles']"/>
但我之前没有使用过 PHP Xpath。