我正在使用 PHP 中的 sax,因为我正在解析以更新数据库的 xml 文件大约为 150MB。
我无法理解如何判断我在使用 sax 的 xml 对象中的哪个位置。例如 xml 看起来像这样:
<listing>
<home>
<address>123 main st.</address>
</home>
<brokerage>
<address>555 N. high st.</address>
</brokerage>
</listing>
使用 sax,我知道列表标记何时开始,以及 home 标记,然后是地址标记等,但随后控制权被传递给我使用 xml_set_character_data_handler 设置的函数,我可以获得地址。
我的问题是知道我是在阅读家庭-> 地址还是经纪-> 地址。
这个xml文件中有多个字段共享同一个标签名,并且在不同的父标签下被多次使用(firstName、lastName、phone、email等作为listingAgent、propertyContact等下的子标签)。
我一直在谷歌搜索,但我发现的唯一 sax 示例显示了如何回显数据,而不是如何根据 xml 文件中的数据做出决策。是否有我不知道的函数,或者我必须编写自己的函数来确定孩子属于哪些父元素?