我试图解析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 =&#34; Immobilie des Monats&#34;&#39;和&#39; feldname =&#34; Energie&#34;&#39;。但我怎样才能获得&#34; Immobilie des Monats&#34;?
的价值感谢您的帮助。
此致 托马斯
答案 0 :(得分:0)
如果要使用该特定属性访问该值,则只需使用该属性即可。使用针(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
答案 1 :(得分:0)
在我看来,你只是看着属性:
foreach($simplefield->attributes()
所以你需要查看节点值,所以无论你使用什么解析器,我都会研究节点值而不是它的属性:
foreach($simplefield->nodeValue
希望有所帮助,
麦克