0

我的 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_simplexmlsimplexml_load_file

4

1 回答 1

2

教授是一个元素,而不是一个属性。因此,使用attributes()访问该元素没有任何意义,不起作用,并且 - 正如您已经在问题中明确写的那样 - 为您提供了一个“空”元素。

另一方面,id是一个属性,可以通过这种方式访问​​。

但是对于这两种情况,我建议您遵循 PHP 手册中的基本 SimpleXML 示例中给出的描述,这是一个很好的入门级教程:

在 Stackoverflow 上,您需要搜索具体问题。不要一起询问所有问题,例如问答材料,例如:

我希望这可以帮助您获得所需的信息。如果您在网站上找到关于您需要涵盖的主题的更好的问答,以及如果您遗漏了什么,请告诉我。

于 2013-08-25T07:31:20.737 回答