使用XmlStringStreamer我有一个XML文件,该文件是这样的XML节点: (文件名:abc.xml)遍历PHP
<Envelope>
<Body>
<SResponse>
<Body>
<SResponseDetails>
<SItem>...</SItem>
<SItem>...</SItem>
<SItem>...</SItem>
<SItem>...</SItem>
</SResponseDetails>
</Body>
</SResponse>
</Body>
</Envelope>
我要存储在一个数据库表中的所有<SItem>
(1项纪录对于每个SItem)。我正在使用PHP并使用XmlStringStreamer。
这是我读取这个文件并处理它的代码。
$streamer = \Prewk\XmlStringStreamer::createStringWalkerParser(__DIR__ . "/tempFile.xml");
$stream = new Stream\File(__DIR__ . "/abc.xml", 1024);
$parser = new Parser\StringWalker();
$streamer = new XmlStringStreamer($parser, $stream);
while ($node = $streamer->getNode()) {
$simpleXmlNode = simplexml_load_string($node);
//-- code here for getting single node
}
我使用XmlStringStreamer并没有从任何论坛得到任何答案,我也试过,但不能得到我想要的话,任何人都可以请帮助我。
非常感谢。
处理我也试过这个在while循环: 的foreach($ simpleXmlNode-> SResponse->正文 - > SResponseDetails-> SItem为$项目) 而我得到的每个节点的XmlObject所以,我将XML转换使用asXML()函数将对象转换为xml,但它将字符转换为小写。 – GoalDone
你能提供$ simpleXmlNode样本值吗?我会看看是否有时间为你验证它? – Star
可以让我知道如何使用asXML()而不用将文本更改为小写。它将xml标签转换为小写。 – GoalDone