Reply to this topicStart new topicStart Poll

Парсинг XML в PHP не работает

sirius_123
Отправлено: May 14 2012, 01:45 PM
Quote Post


  Солдат
*

Группа: unior
Сообщений: 1
Пользователь №: 4262
Регистрация:
14-May 12



Изначально я парсил XML способом, как в теме http://forum.aceweb.ru/index.php?showtopic=4005. Все работает. Но сейчас поменялся предоставляемый формат файла XML.

Был такой:
<?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2012-05-05T11:49:57">
<StudyTable>
<ID>774</ID>
<Discipline>Англ.язык</Discipline>
<Teacher>Петрова Е.В.</Teacher>
<Room>342 ауд.(II)</Room>
...
</StudyTable>
<StudyTable>
...
</StudyTable>
...
</dataroot>

Стал такой:
<?xml version="1.0" encoding="windows-1251" standalone="yes"?>
<!-- Generated by SMExport 4.77-->
<!DOCTYPE tutorial [
<!ENTITY auml "&amp;auml;">
<!ENTITY ouml "&amp;ouml;">
<!ENTITY uuml "&amp;uuml;">
<!ENTITY Auml "&amp;Auml;">
<!ENTITY Ouml "&amp;Ouml;">
<!ENTITY Uuml "&amp;Uuml;">
<!ENTITY szlig "&amp;szlig;">
<!ENTITY ret "&amp;lt;br/&amp;gt;">
<!ENTITY car "">
]><RECORDS>
<METADATA><FIELDS><FIELD attrname="ID" fieldtype="i4" readonly="true"/><FIELD attrname="Discipline" fieldtype="string" WIDTH="50"/><FIELD attrname="Teacher" fieldtype="string" WIDTH="50"/><FIELD attrname="Room" fieldtype="string" WIDTH="20"/><FIELD attrname="Type" fieldtype="string" WIDTH="15"/><FIELD attrname="Group" fieldtype="string" WIDTH="15"/><FIELD attrname="SubGroup" fieldtype="string" WIDTH="15"/><FIELD attrname="Day" fieldtype="string" WIDTH="15"/><FIELD attrname="Time" fieldtype="string" WIDTH="15"/><FIELD attrname="Numerator" fieldtype="string" WIDTH="15"/><FIELD attrname="Year" fieldtype="string" WIDTH="15"/><FIELD attrname="Comment" fieldtype="string" WIDTH="100"/><FIELD attrname="Faculty" fieldtype="string" WIDTH="50"/><FIELD attrname="Color" fieldtype="i4"/><FIELD attrname="Speciality" fieldtype="string" WIDTH="50"/><FIELD attrname="Date" fieldtype="datetime"/></FIELDS><PARAMS DEFAULT_ORDER="1" PRIMARY_KEY="1" LCID="1033"/></METADATA>
<RECORD>
<ROW
ID="774"
Discipline="Англ.язык"
Teacher="Петрова Е.В."
Room="342 ауд.(II)"
Type="(пр)"
Group="21112, 21118"
SubGroup="1п/гр"
Day="Понедельник"
Time="1"
Numerator="Числитель"
Year="1курс"
Color="16777215"
Date="20120213"
/>
</RECORD>
<RECORD>
...
</RECORD>
</RECORDS>

Т.е. раньше атрибуты были <ID></ID> такого вида, а теперь ID="".
И теперь код ниже не работает.
$url='./../studytable-access.xml'; //путь
$xml=simplexml_load_file($url); //интерпретируем XML-документ в объект
foreach ($xml as $item) {
$teachers["".$item->Teacher] = "".$item->Teacher;
}
Подскажите пожалуйста, что можно сделать?
PMEmail Poster
Top

Topic Options Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0190 ]   [ 10 queries used ]   [ GZIP выключен ]