>백엔드 개발 >PHP 튜토리얼 >如何用XMLReader读相同节点下的值?

如何用XMLReader读相同节点下的值?

WBOY
WBOY원래의
2016-06-06 20:35:341149검색

XML文件:

<code><human>
   <person>
        Jack
   </person>
   <person>
        Tom
   </person>
   <person>
        Jerry
   </person>
</human>

**代码:**

$reader = new XMLReader();
  $reader->open("example.xml");
    while ($reader->read()) {
      if($reader->nodeType==XMLREADER::ELEMENT) {
             if ($reader->localName == "Human") {
                    while ($reader->read()) {
                       if ($reader->nodeType == XMLREADER::ELEMENT) {
                                if ($reader->localName == "person") {
                                     $reader->read();
                                     echo $reader->value;

                                }
                                ...

while语句跳出需要执行break;但这里不知道从哪儿跳出,可以保证全部读出Tom,Jack,Jerry?
</code>

回复内容:

XML文件:

<code><human>
   <person>
        Jack
   </person>
   <person>
        Tom
   </person>
   <person>
        Jerry
   </person>
</human>

**代码:**

$reader = new XMLReader();
  $reader->open("example.xml");
    while ($reader->read()) {
      if($reader->nodeType==XMLREADER::ELEMENT) {
             if ($reader->localName == "Human") {
                    while ($reader->read()) {
                       if ($reader->nodeType == XMLREADER::ELEMENT) {
                                if ($reader->localName == "person") {
                                     $reader->read();
                                     echo $reader->value;

                                }
                                ...

while语句跳出需要执行break;但这里不知道从哪儿跳出,可以保证全部读出Tom,Jack,Jerry?
</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.