2013-08-25 27 views
0

我的XML更新:如何读取XML ID与价值,并通过PHP

<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

回答

2

教授是一个元素,而不是属性。因此,使用attributes()来访问该元素是没有意义的,不起作用,并且 - 正如你在你的问题中明确写出的那样 - 给你一个“空”元素。

另一方面,ID是一个属性,可以这样访问。

然而,对于这两种情况下,我建议你按照PHP手册基础SimpleXML的实例是一款不错的入门级教程给出的描述:

这里#2 ,你需要搜索具体问题顺便说一句。不会一并询问所有问题,例如Q &的材料,如:

我希望这可以帮助你获得你正在寻找的信息。让我知道如果你找到更好的Q &在这里关于你需要覆盖的主题,以及如果你错过了一些东西。