我正在努力解决以下问题。我尝试将 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 示例。正如你所看到的,我需要遍历部分,然后是小节,然后是带有标记和文本的元素。