php将xml解析为数组,忽略文本标记之间的数据

时间:2017-06-05 16:22:03

标签: php

后端批处理程序员学习新东西。解析一个xml文件时,我发现当它到达一个标签时,它会突破所有的孩子,但我不希望它。我想将open和close标签之间的所有内容保存为字符串。已经阅读了很多,并希望得到一些如何处理这个问题的指导。我最初的想法是使用不同的解析器。

使用以下代码解析xml:

function xml_to_array($xml) {
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $xml, $elements);
    xml_parser_free($parser);
    return $elements;
}

xml的模型。 这里的字符文本在带下划线的https://www.link_tosomewhere.com \')“>文本的最后剩余部分之后描述带下划线的文本更多文本。

数组: [100] =>排列         (             [tag] =>文本             [type] =>打开             [level] => 4             [value] =>这里的字符文字描述了一些东西         )

[101] => Array
    (
        [tag] => u
        [type] => complete
        [level] => 5
        [value] => underlined text
    )

[102] => Array
    (
        [tag] => text
        [value] =>  more text after the underlined text
        [type] => cdata
        [level] => 4
    )

[103] => Array
    (
        [tag] => a
        [type] => complete
        [level] => 5
        [attributes] => Array
            (
                [href] => javascript:windowPopup('https://www.link_tosomewhere.com')
            )

        [value] => last remaining part of the text.
    )

[104] => Array
    (
        [tag] => text
        [type] => close
        [level] => 4
    )

所需: [100] =>排列         (             [tag] =>文本             [type] =>完成             [level] => 4             [value] =>这里的字符文本在带下划线的texthttps://www.link_tosomewhere.com \')“>文本的最后剩余部分之后描述了带下划线的文本更多文本。         )

0 个答案:

没有答案