我的XML:
<WorkingTime>
<FromTime>08:00</FromTime>
<ToTime>11:00</ToTime>
<Name>Izpit</Name>
<Owner>Marko</Owner>
<Category>
<School Professor="111" Room="1" Subject="882" />
</Category>
</WorkingTime>
<Professors>
<Professor email="xxx" id="111" code="String">Name 1</Professor>
<Professor email="xxx" id="222" code="String">Name 2</Professor>
<Professor email="xxx" id="333" code="String">Name 3</Professor>
</Professors>
<Rooms>
<Room id="1">IA-301</Room>
<Room id="2">A-302</Room>
<Room id="3">A-303</Room>
<Room id="4">A-304</Room>
<Room id="5">A-305</Room>
<Room id="6">A-306</Room>
</Rooms>
<Subjects>
<Subject id="881">Vaje</Subject>
<Subject id="882">Kolokvij</Subject>
<Subject id="883">Predmet</Subject>
<Subject id="884">Izpit</Subject>
</Subjects>
我现在如何在php中打印Professor
。
我可以得到id
,比如:
$professor = $workingTime->Category->School->attributes()->Professor;
$room = $workingTime->Category->School->attributes()->Room;
$subject = $workingTime->Category->School->attributes()->Subject;
但现在如何获得价值:
我尝试了这个,但它是空的:
echo $xml->Professors->Professor[$professor];
以及如何更新值。
我想保存:
<Category>
<School Professor="222" Room="2" Subject="883" />
</Category>
我正在使用dom_import_simplexml
和simplexml_load_file
。
Professor是一个元素,而不是属性。因此,使用attributes()
访问该元素毫无意义,不起作用,而且——正如你已经在问题中明确指出的那样——会给你一个"空"元素。
另一方面,id是一个属性,可以通过这种方式访问。
然而,对于这两种情况,我建议您遵循PHP手册中基本SimpleXML示例中的描述,这是一个很好的入门级教程:
- SimpleXML的基本用法
在Stackoverflow上,你需要搜索具体的问题,顺便说一句,不要把所有的问题都问在一起,例如Q&类似的材料
- 从SimpleXML访问@属性
- php-simpleXML如何访问与其他元素同名的特定元素
- 使用simpleXML编辑XML
我希望这能帮助你获得你想要的信息。如果你找到更好的问答,请告诉我;网站上有一个关于你需要涵盖的主题,以及你是否遗漏了什么。