Articles of simplexml

Итерирование результата xpath SimpleXml

Я использую SimpleXMLElement для чтения xml, возвращаемого с удаленного сервера. Затем результаты анализируются с помощью xpath следующим образом: $result = <<<XML <DataImport2Result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.xxx.xxx/Services/DataImport2"> <Number /> <Blocks> <Block> <Code>Fbf</Code> <Fields> <Field> <Code>FinnsIFbf</Code> <Value>1</Value> </Field> </Fields> </Block> </Blocks> </DataImport2Result> XML; $xml = new SimpleXMLElement($result); $xml->registerXPathNamespace("data", array_pop($xml->getNamespaces())); foreach($xml->xpath("//data:Code[.='Fbf']/..") as $block) { foreach($block[0]->Fields->Field as $field) { echo […]

Анализ XML-данных с помощью пространств имен в PHP

Я пытаюсь работать с этим XML-каналом, который использует пространства имен, и я не могу пройти мимо двоеточия в тегах. Вот как выглядит XML-поток: <r25:events pubdate="2010-05-19T13:58:08-04:00"> <r25:event xl:href="event.xml?event_id=328" id="BRJDMzI4" crc="00000022" status="est"> <r25:event_id>328</r25:event_id> <r25:event_name>Testing 09/2005-08/2006</r25:event_name> <r25:alien_uid/> <r25:event_priority>0</r25:event_priority> <r25:event_type_id xl:href="evtype.xml?type_id=105">105</r25:event_type_id> <r25:event_type_name>CABINET</r25:event_type_name> <r25:node_type>C</r25:node_type> <r25:node_type_name>cabinet</r25:node_type_name> <r25:state>1</r25:state> <r25:state_name>Tentative</r25:state_name> <r25:event_locator>2005-AAAAMQ</r25:event_locator> <r25:event_title/> <r25:favorite>F</r25:favorite> <r25:organization_id/> <r25:organization_name/> <r25:parent_id/> <r25:cabinet_id xl:href="event.xml?event_id=328">328</r25:cabinet_id> <r25:cabinet_name>cabinet 09/2005-08/2006</r25:cabinet_name> <r25:start_date>2005-09-01</r25:start_date> <r25:end_date>2006-08-31</r25:end_date> <r25:registration_url/> […]

ошибка парсера: строка не запускается, ожидая «или» в php

Привет Я пытаюсь преобразовать XML-файл в ассоциативный массив, используя следующий код $xmlUrl = '../products.xml'; $xmlStr = file_get_contents($xmlUrl); $xmlObj = simplexml_load_string($xmlStr); print_r ($xmlObj);exit; $arrXml = objectsIntoArray($xmlObj); и product.xml, содержащий <?xml version="1.0" encoding="utf-8"?> <products> <product> <sku>p750h3</sku> <category>Plans: Vodafone Unlimited Cap</category> <price>$0</price> <totalmonthlycost>$129</totalmonthlycost> <totalmincost>$3096</totalmincost> <upfront>$0</upfront> <imageurl>http://store.vodafone.com.au/Images/Upload/nokia-6260-slide-front_118x307.png</imageurl> <threedurl>http://store.vodafone.com.au/handset-nokia-6260-slide.aspx#3d</threedurl> <smallimageurl>http://store.vodafone.com.au/Images/Upload/nokia-6260-slide-front_23x60.png</smallimageurl> <name>Nokia 6260 Slide $129 Unlimited Cap – 24 Months</name> <description></description> […]

Упрощение / форматирование вывода в SimpleXML

У меня есть этот скрипт simplexml, который я использую для публикации данных, введенных из формы. $xml = simplexml_load_file("links.xml"); $sxe = new SimpleXMLElement($xml->asXML()); $person = $sxe->addChild("link"); $person->addChild("title", "Q: ".$x_title); $person->addChild("url", "questions_layout.php#Question$id"); $sxe->asXML("links.xml"); и когда он выходит, он выглядит так на одной строке: <link><title>Alabama State</title><url>questions_layout.php#Question37</url></link><link><title>Michigan State</title><url>questions_layout.php#Question37</url></link></pages> Но я пробовал метод, найденный ЗДЕСЬ И ЭТО ТАК ЖЕ, но […]

Разбор CDATA из SOAP-ответа с PHP

Я пытаюсь разобрать CDATA из ответа SOAP с помощью SimpleXML и Xpath. Я получаю вывод, который я ищу, но возвращаемый результат – это одна непрерывная строка данных без разделителей, что позволило бы мне разобрать. Я ценю любую помощь! Вот ответ SOAP, содержащий CDATA, который мне нужно проанализировать: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:getIPServiceDataResponse xmlns:ns1="http://ws.icontent.idefense.com/V3/2"> <ns1:return xsi:type="ns1:IPServiceDataResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> […]

Получение кодировки = «UTF-8» standalone = «да» с использованием PHP asXML и SimpleXMLElement

Я использую следующий код для получения XML-файла при вызове php-страницы: т.е. когда вы вводите http://example.com/strtoxmp.php , он вернет вам xml , основываясь на следующей кодировке: $xml = new SimpleXMLElement("<feed/>"); $feed = $xml; $feed->addChild('resultLength', "1"); $feed->addChild('endIndex', "1"); $item = $feed->addChild('item',""); $item->addChild('contentId', "10031"); $item->addChild('contentType', "Talk"); $item->addChild('synopsis', "$newTitle" ); $item->addChild('runtime', ' '); } Header('Content-type: text/xml; charset:UTF-8; '); print($xml->asXML()); […]

CData в simplexml открыт из XMLReader

У меня есть куча XML-файла, который я загружаю в свой скрипт с помощью XMLReader, создавая объект DOM и затем конвертируя в Simplexml. Проблема заключается в том, что один из файлов XML использует CDATA, который SIMPLEXML игнорирует и обычно использует SIMPLEXML_LOAD_FILE. Я бы добавил параметр LIBXML_NOCDATA, но поскольку я использую simplexml_import_dom, я не могу понять, как […]

PHP: отправить запрос POST, а затем прочитать ответ XML?

Я пытаюсь написать PHP-скрипт, который отправляет запрос POST на удаленный сервер, а затем анализирует ответ XML. Я могу выполнить запрос POST, но у меня возникают трудности (из других вопросов SO), которые определяют, как анализировать XML-ответ. Мой текущий код дает мне: Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "1" in /Users/simon/usercreate.php on […]

php: структура таблицы синтаксического анализа с помощью SimpleXML

Я пытаюсь прочитать в XML-файле, который по какой-то причине был смоделирован в такой структуре таблицы: <tr id="1"> <td name="Date">10/01/2009</td> <td name="PromoName">Sample Promo Name</td> <td name="PromoCode">Sample Promo Code</td> <td name="PromoLevel" /> </tr> Это всего лишь одна примерная строка, файл имеет несколько блоков <tr> и все они окружены <table> . Как я могу читать значения, причем все […]

php xpath с текстом () и SimpleXMLElement-> xpath не соответствует ожидаемым результатам xpath

Я пытаюсь получить все текстовые узлы / td / span. Я пытаюсь использовать xpath / td / span / text () Проблема в том, что он возвращает ВСЕ текстовые узлы для каждого текстового элемента (здесь два, «193» и «120», он возвращает «193120» дважды, вместо 193 и 120 в отдельных элементах). Я стараюсь точно такой же […]

Intereting Posts