ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [PHP] 46. SimpleXML 파서 - 노드/속성 값 얻기(Simple XML Parsers - Get Node/Attribute Values) - PHP 강좌, PHP5
    Web/PHP 2015. 6. 13. 14:10

    PHP SimpleXML - Get Node/Attribute Values
     


    1. PHP SimpleXML - Get Node Values
     note.xml 파일에서 노드를 얻어오겠습니다:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!DOCTYPE html>
    <html>
    <body>
     
    <?php
    $xml=simplexml_load_file("note.xml") or die("Error: Cannot create object");
    echo $xml->to . "<br>";
    echo $xml->from . "<br>";
    echo $xml->heading . "<br>";
    echo $xml->body;
    ?>  
     
    </body>
    </html>
    cs

     




     

     







    2. Another XML File
     books.xml이라는 파일이 있다고 가정합시다:


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?xml version="1.0" encoding="utf-8"?>
    <bookstore>
      <book category="COOKING">
        <title lang="en">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
      </book>
      <book category="CHILDREN">
        <title lang="en">Harry Potter</title>
        <author>J K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
      </book>
      <book category="WEB">
        <title lang="en-us">XQuery Kick Start</title>
        <author>James McGovern</author>
        <year>2003</year>
        <price>49.99</price>
      </book>
      <book category="WEB">
        <title lang="en-us">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
      </book>
    </bookstore>
    cs

     





    3. PHP SimpleXML - Get Node Values of Specific Elements
     아래 예제는 books.xml 파일에서 첫 요소의 <title>의 값과 두 번째 요소의 <title> 값을 가져오는 예제입니다:


     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE html>
    <html>
    <body>
     
    <?php
    $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
    echo $xml->book[0]->title . "<br>";
    echo $xml->book[1]->title;
    ?>  
     
    </body>
    </html>
    cs







     










    4. PHP SimpleXML - Get Node Values - Loop
     아래 예제는 books.xml 파일의 모든 <book> 요소를 반복문을 돌며, <title>, <author>, <year>, <price> 요소를 얻는 예제입니다:



    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <!DOCTYPE html>
    <html>
    <body>
     
    <?php
    $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
    foreach($xml->children() as $books) { 
             echo $books->title . ", "
             echo $books->author . ", ";
             echo $books->year . ", ";
             echo $books->price . "<br>"
    ?>  
     
    </body>
    </html>
    cs

     







     
    5. PHP SimpleXML - Get Attribute Values
     아래 예제는 첫번째 <book> 요소의 category 속성을 가져오고 두번째 <book> 요소의 <title>의 lang 속성을 가져오는 예제입니다:


    1
    2
    3
    4
    5
    <?php
    $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
    echo $xml->book[0]['category'] . "<br>";
    echo $xml->book[1]->title['lang']; 
    ?>
    cs
     
     

     결과는 아래와 같을 것 입니다:

    COOKING
    en





    6. PHP SimpleXML - Get Attribute Values - Loop
     아래 예제는 books.xml 파일에서 <title> 요소의 속성 값을 얻는 예제입니다:


    1
    2
    3
    4
    5
    6
    7
    <?php
    $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
    foreach($xml->children() as $books) { 
        echo $books->title['lang'];
        echo "<br>"
    ?>
    cs

     



     결과는 아래와 같을 것 입니다:



    en
    en
    en-us
    en-us 


    댓글

Designed by Tistory.