如何将我的XML文件可能的重复项:
将 XML 解析为数组
转换为PHP数组,这是我的XML文件:
<?xml version="1.0" standalone="yes"?>
<EKG_DS>
<EKG_PASIEN>
<DOKTER>1</DOKTER>
<NO_RM>0007</NO_RM>
<NAMA>DONI</NAMA>
<UMUR>36</UMUR>
<ALAMAT>JAKARTA</ALAMAT>
<TANGGAL>28/01/2013</TANGGAL>
</EKG_PASIEN>
<EKG>
<ID_IRAMA_DSR>2</ID_IRAMA_DSR>
<DENYUT_JNTG>2</DENYUT_JNTG>
<ID_REG_DENYUT_JNTG>2</ID_REG_DENYUT_JNTG>
<ID_GLMBG_P>2</ID_GLMBG_P>
<ID_BENTUK_GLMBG_P>2</ID_BENTUK_GLMBG_P>
<ID_REG_GLMBG_P>1</ID_REG_GLMBG_P>
</EKG>
</EKG_DS>
我尝试使用此代码,但只是字符串...我需要一个数组..
if (file_exists('C:/download/171_EKG.xml')) {
$xml = simplexml_load_file('C:/download/171_EKG.xml');
print"<pre>";
print_r($xml);
}
请帮帮我...
试试这个:
$xml2Array = array();
if (file_exists('C:/download/171_EKG.xml')) {
$xml = simplexml_load_file('C:/download/171_EKG.xml');
foreach( $xml->children() as $key => $value ) {
$nodes = array();
foreach( $value->children() as $k => $v ) {
$nodes[ ( string ) $v->getName() ] = ( string ) $v;
}
$node = ( string ) $value->getName();
$xml2Array[ $node ][] = $nodes;
}
}
print_r($xml2Array);
希望这有帮助。
使用 xpath 命令,它在创建数组时效果很好。
例如,要创建名为以下所有标记的数组:A
$xml = new SimpleXMLElement("NameOfTheXMLFiles");$arr=$xml->xpath("A");
然后获取任何带有标签 A 的 alement 作为数组:$arr[0]、$arr[1] 等。
我尝试了相同的代码,它返回了一个完美的对象数组,这是显而易见的。
这是我尝试过的
if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');
print_r($xml);
$xml->EKG_PASIEN->ALAMAT; //Returns JAKARTA
}
在上面的代码中,您还可以找到如何从对象数组访问单个记录。