使用XmlParser忽略xml元素

时间:2016-02-16 10:43:18

标签: php xml laravel-5

我正在尝试使用orchestra解析XML到数组,orchestra是Laravel的XML Document Parser包。我已设法使用下面的代码解析Title节点。我所面临的挑战是解析这个元素詹姆斯邦德,这将导致给我詹姆斯邦德的价值。下面是test.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Requisition>
<Title>Business Analyst</Title>    
<CustomInfo>
<Field fldCode="FLD_PF_CUSTOM_REQ_TEXT1"></Field>
<Field fldCode="FLD_PF_CUSTOM_REQ_TEXT2"></Field>
<Field fldCode="FLD_PF_CUSTOM_REQ_TEXT3">0</Field>
<Field fldCode="FLD_PF_CUSTOM_REQ_TEXT4">Brackens</Field>
<Field fldCode="FLD_REQ_ACTOR_NAME" code="JAMES_BOND">James Bond</Field> //Node I trying to parse/print
<Field fldCode="FLD_REQ_ACTOR_NAME_COMP" code="AAX">aaX</Field>
<Field fldCode="FLD_REQ_ACTOR_NAME_DIV" code="RESOURCING_ARIZONA">Resourcing Arizona</Field>      
</CustomInfo>
</Requisition>
</ExportData>

这里是控制器代码,我正在解析test.xml文件

public function index()
{

$xml = XmlParser::load('/path/to/my/test.xml');
$ExportData = $xml->parse([
'Title' => ['uses' => 'ExportData.Requisition.Title'],
'Actor Name' => ['uses' => 'ExportData.Requisition.CustomInfo.Field::fldCode'],
]);
echo '<pre>'; print_r ($ExportData); echo '</pre>';

这是我打印数组时得到的结果

[Title] => Business Analyst
[Actor Name] => FLD_PF_CUSTOM_REQ_TEXT1

有没有人知道如何使用php和xmlParser

忽略下面这些元素
<Field fldCode="FLD_PF_CUSTOM_REQ_TEXT1"></Field>
<Field fldCode="FLD_PF_CUSTOM_REQ_TEXT2"></Field>
<Field fldCode="FLD_PF_CUSTOM_REQ_TEXT3">0</Field>
<Field fldCode="FLD_PF_CUSTOM_REQ_TEXT4">Brackens</Field>

0 个答案:

没有答案