【发布时间】:2019-05-24 07:34:25
【问题描述】:
我正在努力解决以下问题。我尝试将 xml 文档转换为 PHP 中的数组,到目前为止工作正常。但我确实有一些特殊元素,其中包含带有标记的文本。元素看起来像这样:
<section>
<name>sectionname</name>
<subsection>
<subsectionname>one</subsectionname>
<element>
<text>some text <xref>a</xref>, <xref>b</xref>, <xref>c</xref></text>
</element>
</subsection>
<subsection>
<subsectionname>two</subsectionname>
<element>
<text>some text <xref>a</xref>, <xref>b</xref>, <xref>c</xref></text>
</element>
</subsection>
</section>
我首先尝试使用 simplexml:
$xml = simplexml_load_string($string) or die("Error: Cannot create object");
$json = json_encode($xml);
$array = json_decode($json, TRUE);
但是这将返回一个包含“一些文本,,等等”的元素,而没有外部参照的内容。我真正想要的是整个文本“一些文本a,b,c等等”,但恐怕我不知道如何实现这一点。 我已经给了 DOMDocument 一个机会,但是因为它是一个非常复杂的 xml,所以对整个事情有问题。
有什么想法可以让我收到我想要的东西吗?
编辑:我添加了一个更复杂的 xml 示例。如您所见,我需要遍历部分,然后是子部分,然后是带有标记和文本的元素。
【问题讨论】: