Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Траблы с PHP5+XML

2.0K
28 ноября 2007 года
calgon
90 / / 27.06.2006
Люди хелп, плз!
Решил поюзать XML. Как обычно столкнулся с траблой :)
Есть xml-файл :
<?xml version="1.0"?>
<newsLine>
<news date="1.1.2002">
<title>title 1</title>
<text>news text 1</text>
</news>
<news date="5.1.2002">
<title>title 2</title>
<text>news text 2</text>
</news>
<news date="10.1.2002">
<title>title 3</title>
<text>news text 3</text>
</news>
</newsLine>

Как с помощью DomDocument получить значение в теге <title>[значение]</title> или <text>[значение]</text>?
Смотрел ман, но че-т так и не нашел нужную функцию :(
Какой парсер лучше юзать с PHP5, а то их целая куча (DOMXML, DomDocument, xpath...)?
И вообще где мона почитать про PHP5+XML подробно?

Сэнкс.
2.0K
28 ноября 2007 года
calgon
90 / / 27.06.2006
упорство и труд все перетрут :)
 
Код:
$doc = new DOMDocument();
$doc->load("news.xml");
$items = $doc->getElementsByTagName("news");
for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "\n";
}
12
29 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Читать:
XML можно прочесть двуме методами: через DOM и SAX:
http://ru.wikipedia.org/wiki/DOM
http://ru.wikipedia.org/wiki/SAX

DOM XML это реализация DOM в PHP версии 4. В 5-ой версии DOM реализацию подогнали к стандарту как и положено. Поэтому там DOM функции.

В PHP есть и другие функции чтения XML. SimpleXML к примеру.

XPath это язык адресации XML деревьев. К примеру в твоем примере выражение /newsLine/news/title выбирет все заголовки к новостям. Вообще это очень мощный механизм ибо позволяет делать навигацию и фильтрацию результатов по дереву.
15
29 ноября 2007 года
shaelf
2.7K / / 04.05.2005
Если у тебя мега сложного ничего нету, то юзай simpleXML, т.к. он очень быстрый и встроен в ядро. Если тебе просто прочесть нужно, то XMLReader, этот вообще как формула 1. Пользуйся DOM функциями только в том случае, если это реально необходимо и больше никакими средствами это не решить, т.к. он оооочень медленный. Это некий танк, который всё может, но оочень медленно движется.
2.0K
29 ноября 2007 года
calgon
90 / / 27.06.2006
Цитата: shaelf
Если у тебя мега сложного ничего нету, то юзай simpleXML, т.к. он очень быстрый и встроен в ядро. Если тебе просто прочесть нужно, то XMLReader, этот вообще как формула 1. Пользуйся DOM функциями только в том случае, если это реально необходимо и больше никакими средствами это не решить, т.к. он оооочень медленный. Это некий танк, который всё может, но оочень медленно движется.



А если необходимо изменять\добавлять что-либо в XML-доке, тогда чем лучше пользоваться?

12
29 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Да чем угодно, хоть тем же SAX (хотя, имхо, через ж... это).

DOM наиболее мощное средство.
15
29 ноября 2007 года
shaelf
2.7K / / 04.05.2005
.... и наиболее медленное. Я всё сказал выше. Читай, смотри, что больше подходит.
12
30 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Меня вот все еще гложат сомнения.... а не юзает ли сиплхмл дом дерево??
2.0K
30 ноября 2007 года
calgon
90 / / 27.06.2006
Пипл, а исчо не подскажете хорошей литературы (в бумажном виде) по XML и XSLT?
251
30 ноября 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: calgon
Пипл, а исчо не подскажете хорошей литературы (в бумажном виде) по XML и XSLT?


Если нет тут, то есть здесь.

15
30 ноября 2007 года
shaelf
2.7K / / 04.05.2005
2alekciy Можешь посмотреть исходники пыха)))
12
30 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: shaelf
2alekciy Можешь посмотреть исходники пыха)))



:D
Ну спасибо, до этого я как-то и сам допер ) Но совыряться в сорцах ни какого желания что-то пока нет. Видно нужно в клуб сбегать, там уж точно кто-то, да сорцы рыл.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог