我需要你的帮助。我需要一个打开“ full.xml ”的 PHP 脚本,并且只显示具有.email的节点的所有值
我想要的输出示例:
sales@company1.com
sales@company2.com
sales@company3.com
谢谢!我会非常感谢你!
编辑
$Connect = simplexml_load_file("full.xml");
return $Connect->table[0]->*.email;
您的 XML 设计不是很聪明。使用此xpath
表达式,您可以选择.email
名称末尾带有的所有节点:
$xml = simplexml_load_string($x); // assume XML in $x
$results = $xml->xpath("//*[substring(name(),string-length(name())-" . (strlen('.email') - 1) . ") = '.email']");
--> 结果是一个包含选定节点的数组。
顺便说一句:如果您有机会更改 XML 的结构,请避免在节点名称中组合信息,例如<company1.email>
,但这样做:
...
<companies>
<company id="1">
<email>info@company1.com</email>
<tel>+498988123456</tel>
<name>somename</name>
</company>
<company id="2">
<email>info@company2.com</email>
<tel>+498988123457</tel>
<name>someothername</name>
</company>
</companies>
....
它会更容易阅读和解析。