xml 标签带有符号php,php-如果元素每个记录有相似的标记,则获取正确的xml值
php-如果元素每个记录有相似的标记,则获取正确的xml值
我正在获取以下XML文件:
XML文件:
5EXZX4LPK
I Bornheim
2017-01-01
2017-12-31
ACCOUNTING
2007-09-01
RELATIONSHIP
5967007LI
SUN BANK
2018-01-01
2018-12-31
BALANCED
2008-09-01
PARENT
…使用此脚本,我将值输出为csv:
PHP文件:
$reader = new XMLReader();
$reader->open('php://stdin');
$output = fopen('php://stdout', 'w');
fputcsv($output, ['id', 'name']);
$xmlns = [
'abc' => 'http://www.abc-example.com'
];
$dom = new DOMDocument;
$xpath = new DOMXpath($dom);
foreach ($xmlns as $prefix => $namespaceURI) {
$xpath->registerNamespace($prefix, $namespaceURI);
}
while (
$reader->read() &&
(
$reader->localName !== 'ABCRecord' ||
$reader->namespaceURI !== $xmlns['abc']
)
) {
continue;
}
while ($reader->localName === 'ABCRecord') {
if ($reader->namespaceURI === 'http://www.abc-example.com') {
$node = $reader->expand($dom);
fputcsv(
$output,
[
$xpath->evaluate('string(abc:ABC)', $node),
$xpath->evaluate('string(abc:Entity/abc:Name)', $node)
]
);
}
$reader->next('ABCRecord');
}
…这样地:
输出:
5EXZX4LPK,"I Bornheim"
5967007LI,"SUN BANK"
然而…如果每个期间记录具有相同的标记定义,如何获取正确的“期间”值?
期望输出:
5EXZX4LPK,"I Bornheim",2017-01-01,2017-12-31,"ACCOUNTING",2007-09-01,"RELATIONSHIP"
5967007LI,"SUN BANK",2018-01-01,2018-12-31,"BALANCED",2008-09-01,"PARENT"
xml 标签带有符号php,php-如果元素每个记录有相似的标记,则获取正确的xml值相关推荐
- jquery 获取一组元素的选中项 - 函数、jquery获取复选框值、jquery获取单选按钮值...
做表单提交时,如果现在还在用form提交,用户体验很差,所以一般使用ajax提交. 其中需要获取每个表单输入元素的值,获取的时候像文本框这些还好说,Jquery提供了 .val() 方法,获取很方便, ...
- 搭建dubbo项目解决dubbo.xml标签报错的问题
搭建dubbo项目解决dubbo.xml标签报错的问题 参考文章: (1)搭建dubbo项目解决dubbo.xml标签报错的问题 (2)https://www.cnblogs.com/ajax-li/ ...
- JavaWeb的web.xml标签元素(二)
JavaWeb的web.xml标签元素(一) 九.session-config 为Web应用中的javax.servlet.http.HttpSession对象定义参数 session-config ...
- JavaWeb的web.xml标签元素(一)
普通信息标签 (1)display-name 定义了WEB应用的名字,在servletContextConfig display-name* XML语法: <display-name>Ap ...
- POM.xml 标签详解
pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以 ...
- maven POM.xml 标签详解
pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以 ...
- TestNG中的参数化– DataProvider和TestNG XML(带有示例)
测试自动化,或所谓的自动化测试,并不像听起来那样容易. 必须考虑所有可能的用户交互的所有排列和组合,并且在此基础上,您将必须创建测试脚本以通过多种浏览器和OS组合来验证Web应用程序. 这就是参数化在 ...
- java 自定义xml_6.1 如何在spring中自定义xml标签
dubbo自定义了很多xml标签,例如,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子. 一 编写模型类 1 packagecom.hulk.testdubbo.model ...
- FusionCharts 的XML标签属性
FusionCharts 的 XML标签属性有一下四种数据类型 * Boolean - 布尔类型,只能为1或者0.例如:<graph showNames='1′ > * Number - ...
最新文章
- microsoft visual basic保存时错误429_win10更新失败错误8000FFF的解决小技巧
- SpringCloud之Hystrix
- java抓新闻_【图片】【抓取】Java获取各大网站新闻【java吧】_百度贴吧
- linux系统几个重要图
- 又有一本图书在台湾出版了
- activity 点击后传递数据给fragment_Fragment 的过去、现在和将来
- Kindeditor小改动
- 来,一起来实现一个符合Promise/A+的Promose(1.0.1版本)
- Vue笔记:使用 axios 中 this 指向问题
- 掘金小册前端性能优化原理与实践读后总结
- 用算法去扫雷(go语言)
- 求助wpe封包遇到动态验证怎么办
- 项目实战第二十一讲:平台商品库
- 用户使用DocConvert处理文档后对DocConvert的评价
- Discuz论坛超漂亮手机模板
- 安装服务器系统后鼠标键盘没反应,安装Win7系统以后键盘鼠标不能用/失灵没反应的缘由以及解决方法...
- 如何使用python制作一款屏幕颜色提取器,附带exe文件
- ARM920T内存管理单元MMU
- c语言2逻辑与2是1吗,2.C语言逻辑运算符和表达式
- 进程和线程的区别 进程间的通信方式