我正在尝试解析XML文件。具有以下结构:
<verwaltung_objekt>
<objektadresse_freigeben>false</objektadresse_freigeben>
<geschlecht />
<user_defined_simplefield feldname="Immobilie des Monats">Ja</user_defined_simplefield>
<user_defined_simplefield feldname="Energie">A</user_defined_simplefield>
</verwaltung_objekt>
试试下面的代码:
foreach($xml -> verwaltung_objekt -> user_defined_simplefield as $simplefield) {
foreach($simplefield->attributes() as $a => $b) {
echo $a,'="',$b,"'"'n";
}
}
得到'feldname=" immobile des Monats"'和'feldname="Energie"'。但是我怎样才能得到"不动的Monats"的价值呢?
谢谢你的帮助。
的问候托马斯。
如果您想通过使用特定属性访问该值,您可以使用该属性。用针(Immobilie des Monats)
,你可以比较一下。考虑这个例子:
$raw = '<verwaltung_objekt> <objektadresse_freigeben>false</objektadresse_freigeben> <geschlecht /> <user_defined_simplefield feldname="Immobilie des Monats">Ja</user_defined_simplefield> <user_defined_simplefield feldname="Energie">A</user_defined_simplefield></verwaltung_objekt>';
$xml = simplexml_load_string($raw);
$data = array();
foreach($xml as $key => $value) {
if($value->attributes()['feldname'] == 'Immobilie des Monats') {
echo $value;
}
}
// outputs: Ja
在我看来你只看属性:
foreach($simplefield->attributes()
所以你需要查看节点值,所以无论你使用什么解析器,我都会查看节点值,而不是它的属性:
foreach($simplefield->nodeValue
希望有帮助,
迈克。