【发布时间】:2014-04-26 18:18:43
【问题描述】:
我希望有人可以在这里给我一些帮助。我有这个 XML 文件,channelStatistics 是主节点的几个子节点之一
<ChannelStatistics ChannelId="DMAT" CounterDim="">
<TotalCount>104</TotalCount>
<DefectCounter ClassId="F1">62</DefectCounter>
<DefectCounter ClassId="F2">34</DefectCounter>
<DefectCounter ClassId="F3">8</DefectCounter>
</ChannelStatistics>
<ChannelStatistics ChannelI="FERRO" CounterDim="">
<TotalCount>17</TotalCount>
<DefectCounter ClassId="F1">2</DefectCounter>
<DefectCounter ClassId="F2">5</DefectCounter>
<DefectCounter ClassId="F3">10</DefectCounter>
</ChannelStatistics>
我如何获得特定的孩子(ChannelStatistics)然后获取数据(ClassId="F1", ClassId="F2", ClassId="F3") 对于不同的ChannelId?
我需要这样的结果:
DMAT - F1=62 F2=34 F3=8
FERRO - F1=2 F2=5 F3=10
我该怎么做?
【问题讨论】:
-
如果您尝试过,请在您的问题中说明您是如何尝试的:如果我们可以看到您的代码,我们可能会看到您出错的地方;但不知道自己做错了什么
-
$reader = new XMLReader(); $reader->open("data\data.xml"); while($reader->read()) { if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'ChannelStatistics') { $F1 = $reader->getAttribute('ClassId=" F1"'); $F2 = $reader->getAttribute('ClassId="F2"'); $F3 = $reader->getAttribute('ClassId="F2"'); } $reader->close();