首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UBL/不同的名称空间读取Php simplexml

使用UBL/不同的名称空间读取Php simplexml
EN

Stack Overflow用户
提问于 2014-02-14 05:36:24
回答 1查看 1.2K关注 0票数 0

我有this kind of xml文档。

我的问题是我不能通过simplexml读取标签,因为不同的名称空间。示例BuyerCustomerParty->Party->Person->FamilyName标记。BuyerCustomerPartyPartyPersoncac-namespace下,但FamilyNamecbc-namespace下。奇怪的是,我可以写入标签并替换内容,但不能在此之前读取它。

这里还有一些代码:

代码语言:javascript
复制
$sxe = simplexml_load_string($value);
$namespaces = $sxe->getDocNamespaces();
$sxe->registerXPathNamespace('cbc', $namespaces['cbc']);
$cbc = $sxe->children($namespaces['cbc']); 

//THIS PRINTS THE RIGHT VALUE            
$cbc->IssueDate;

$sxe->registerXPathNamespace('cac', $namespaces['cac']);
$cac = $sxe->children($namespaces['cac']); 

//BUT THIS PRINTS NOTHING
echo $fg = $cac->BuyerCustomerParty->Party->Person->FamilyName;

//BUT IF I CHANGE THE VALUE OF THE TAG... I CAN ACCESS THE TAG
$cac->BuyerCustomerParty->Party->Person->FamilyName = "value";

如何读取标签?

EN

回答 1

Stack Overflow用户

发布于 2016-07-14 15:24:35

我的解决方案是将cbc子代包含在路径中。

代码语言:javascript
复制
echo $fg = $cac->BuyerCustomerParty->Party->Person->children('cbc',TRUE)->FamilyName;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21765994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档