Как получить строковое значение XML, включая другие теги, из объекта xml - PullRequest
0 голосов
/ 26 ноября 2010

Используя PHP и simplexml, если это возможно, я хотел бы проанализировать следующий пример документа, чтобы извлечь все значение того, что содержится в текстовом теге, включая абзац, содержимое и все остальные теги.

<section>
<id root="71EB365C-A4F5-D758-0C51-B8DA375805CD" />
<code code="34066-1" codeSystem="2.16.840.1.113883.6.1" displayName="BOXED WARNING     SECTION" />
<title mediaType="text/x-hl7-title+xml">USE IN PREGNANCY</title>
<text><paragraph><content styleCode="bold">When used in pregnancy during the second and     third trimesters, ACE inhibitors can cause injury and even death to the developing fetus.      </content>When pregnancy is detected, quinapril tablets USP&#160;should be discontinued as soon as possible. See <content styleCode="bold">WARNINGS</content>, <content styleCode="bold">Fetal/Neonatal Morbidity and Mortality</content>.<linkHtml href="#W_fetal" /></paragraph><content styleCode="bold" /><content styleCode="bold" /><content styleCode="bold" /></text>
<effectiveTime value="20070112" />
</section>

Когда я ссылаюсь на него в php / simplexml как таковом, он ничего не возвращает.

$message .= $xml->section->text;

Это простой пример для огромного проекта, в котором содержание текстового тега сильно различается, поэтому я не могу просто конкретно решить этот один пример.быть:

<paragraph><content styleCode="bold">When used in pregnancy during the second and         third trimesters, ACE inhibitors can cause injury and even death to the developing fetus.          </content>When pregnancy is detected, quinapril tablets USP&#160;should be discontinued as     soon as possible. See <content styleCode="bold">WARNINGS</content>, <content     styleCode="bold">Fetal/Neonatal Morbidity and Mortality</content>.<linkHtml href="#W_fetal"     /></paragraph><content styleCode="bold" /><content styleCode="bold" /><content     styleCode="bold" />

Большое спасибо, поскольку я уверен, что есть простое решение, которое я пропускаю.

Ответы [ 2 ]

1 голос
/ 26 ноября 2010

Данные в элементе text должны быть обернуты CDATA .

Это должно было выглядеть так:

0 голосов
/ 26 ноября 2010

Используйте метод asXML . Это даст вам xml узла, который вы спрашиваете, например:

$message = $xml->section->text->asXML();
...