感谢 Frank Farmer 和 Dan Beam,此问题得以解决。
这行得通:echo (string)$check_reo[0][0]['ReclaimDate']
对于希望使用 SimpleXML 和 XPATH 从 XML 文件中提取和编写一些基本逻辑的人来说,这对我有用。
$xmlstring = <<<XML <?xml version='1.0' standalone='yes'?> <YOURXMLGOESHERE>TEST</YOURXMLGOESHERE> XML;
$xpathcount = simplexml_load_string($xmlstring); // Load XML for XPATH Node Counts
$doc = new DOMDocument(); // Create new DOM Instance for Parsing
$xpathcountstr = $xpathcount->asXML(); // Xpath Query
$doc->loadXML($xpathcountstr); // Load Query Results
$xpathquery = array($xpathcount->xpath("//XMLNODEA[1]/XMLNODEB/*[name()='KEYWORDTOCHECKIFXMLCEXISTS']"));
print_r ($xpathquery) // CHECK Array that is returned from the XPATH query
`数组
(
[0] => 数组
(
[0] => SimpleXMLElement 对象
(
[@attributes] => 数组
(
[回收日期] => 05/15/2008
[回收价格] => 555555555
[_Owner] => 所有者名
)
)
) // Array RETURNED`
echo (string)$xpathquery[0][0]['ReclaimDate'] // EXTRACT THE VALUE FROM THE ARRAY COLUMN;
这个网站帮助我更好地理解了 XPATH 如何使用比我以前知道的更多的功能非常轻松地搜索 XML。
http://zvon.org/xxl/XPathTutorial/Output/examples.html
这是对我有用的简单 XML 函数
$xmlread = simplexml_load_string($xmlstring, "simple_xml_extended");
`class simple_xml_extended extends SimpleXMLElement { // 读取 XML 并获取属性
公共函数属性($名称){
foreach($this->Attributes() as $key=>$val) {
如果($key == $name)
返回(字符串)$val;
}
}
}`
这是提取具有基于属性的 XML 结果的单个值时的函数操作
$GETVAR1 = $xmlread->XMLNODE1->XMLNODE2->XMLNODE3->XMLNODE4->XMLNODE5[0]->Attribute('XMLNODE5ATTRIBUTE');
这可能不是最有效或最好的方法,但它最终为我工作。希望这可以帮助那些仍然不清楚 SIMPLEXML 和 XPATH 的人。
进一步了解的附加链接:http://www.phpfreaks.com/tutorial/handling-xml-data