Get a specific child tag from a DOMElement in PHP

后端 未结 1 1067
轻奢々
轻奢々 2020-12-19 07:30

I am walking through a xml definition file and I have a DOMNodeList that I am walking through. I need to extract the contents of a child tag that may or may not be in the cu

相关标签:
1条回答
  • 2020-12-19 07:52

    Strange thing is: you already know the answer since you've used it in your script, getElementsByTagName().
    But this time not with the DOMDocument as context "node" but with the input DOMElement:

    <?php
    $doc = getDoc();
    foreach( $doc->getElementsByTagName('required') as $e ) {
      $e = $e->parentNode; // this should be the <input> element
      // all <label> elements that are direct children of this <input> element
      foreach( $e->getElementsByTagName('label') as $l ) {
        echo 'label="', $l->nodeValue, "\"\n";
      }
    }
    
    function getDoc() {
      $doc = new DOMDocument;
      $doc->loadxml('<foo>
        <input id="name">
          <label>Full Name:</label>
          <required />
        </input>
        <input id="phone">
          <required />
        </input>
        <input id="email" />
      </foo>');
      return $doc;
    }
    

    prints label="Full Name:"

    0 讨论(0)
提交回复
热议问题