referencedObjectの代わりにイメージのURLをエコーしようとしています。 Referenced Objectを正しい場所に取得していますが、referencedObjectに対応するイメージURLに置き換えるときに、コードが正しい場所に置き換えられていないため、テキストの上に2行ほど表示されます。PHPでの参照オブジェクトの値の置き換えSimpleXML
PHPでSimpleXMLを使用する。ここで
<component>
<section ID="Ld8e0a7b8-429c-4a7d-84ff-8b4698b7adc7">
<title>DESCRIPTION </title>
<text>
<paragraph>Lorem ipsum dolor sit amet, consectetur adipiscing elit...</paragraph>
<paragraph>Here is the image 1 </paragraph>
<paragraph>
<renderMultiMedia referencedObject="Lc0d31387-d262-4702-8053-0207e1a3fc91"/>
</paragraph>
<paragraph>Here is Image 2 , tempor incidid labore et dolore magna aliqua. Ut enim ad minim </paragraph>
<paragraph>
<renderMultiMedia referencedObject="L3dcd8ff8-678a-4e9f-8bb2-d6f3c35d1c10"/>
</paragraph>
<paragraph>tempor incidid labore et dolore magna aliqua. Ut enim ad minim </paragraph>
<paragraph>tempor incidid labore et dolore magna aliqua. Ut enim ad minim </paragraph>
<paragraph/>
</text>
<component>
<observationMedia ID="Lc0d31387-d262-4702-8053-0207e1a3fc91">
<text>image description</text>
<value mediaType="image/jpeg" xsi:type="ED">
<reference value="Image1.jpg"/>
</value>
</observationMedia>
</component>
<component>
<observationMedia ID="L3dcd8ff8-678a-4e9f-8bb2-d6f3c35d1c10">
<text>image description</text>
<value mediaType="image/jpeg" xsi:type="ED">
<reference value="Molecule2.jpg"/>
</value>
</observationMedia>
</component>
</section>
は、私は各IDの値を取得しています方法です。ここで
for($i=0; $i < $pcount; $i++) //$pcount = no. of paragraphs in the xml
{
$reference_value = (string) $component->section->component[$i]->observationMedia->value->reference['value'];
$referencedObject = (string) $component->section->text->paragraph[$i]->renderMultiMedia['referencedObject'];
$observationMedia_ID = (string) $component->section->component[$i]->observationMedia['ID'];
}
は、元のXML応答です:pastebin.com/raw/fnWbifx0
元のXML応答は次のとおりです。https://pastebin.com/raw/fnWbifx0 – Srinivas