【发布时间】:2015-07-02 14:39:06
【问题描述】:
我正在解析XML 文档并使用asXML() 获取嵌套标签的值。这工作正常,但我想将此数据移动到 MySQL 数据库中,其列与文件的标签匹配。那么基本上我如何获得asXML() 从中提取文本的标签?
这样我最终可以做类似的事情:INSERT INTO db.table (TheXMLTag) VALUES ('XMLTagText');
这是我现在的代码:
$xml = simplexml_load_file($target_file) or die ("Error: Cannot create object");
foreach ($xml->Message->SettlementReport->SettlementData as $main ){
$value = $main->asXML();
echo '<pre>'; echo $value; echo '</pre>';
}
foreach ($xml->Message->SettlementReport->Order as $main ){
$value = $main->asXML();
echo '<pre>'; echo $value; echo '</pre>';
}
这是我的文件看起来给你一个想法(那么基本上我如何获得 [SettlementData]、[0]、[Fulfillment]、[Item] 等中的标签?):
【问题讨论】:
-
所以你本质上想要一个递归函数来遍历整个元素树(或者从任何元素开始,并不是说它真的有区别)并将每个标签名称及其内容作为原始文本获取?跨度>
-
@speibus 是的!这正是我想做的。我现在是否以错误的方式解决这个问题?如果是这样,我应该如何改变我正在做的事情?