Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक चर के लिए थोड़ी देर के लूप द्वारा उत्पन्न एक्सएमएल असाइन करना

इसे DOM के साथ करने का तरीका यहां दिया गया है :

function createUserDetailsXml(array $result) {

    $dom  = new DOMDocument;
    $dom->formatOutput = TRUE; // enable automatic indenting
    $dom->loadXML('<users/>'); // set root node

    foreach($result as $row) {

        // create user-details node
        $user = $dom->createElement('user-details');

        // create and append details to user-details node
        $user->appendChild(
            $dom->createElement('user-id', $row['uid']));
        $user->appendChild(
            $dom->createElement('user-name', $row['userName']));
        $user->appendChild(
            $dom->createElement('user-points', $row['points']));
        $user->appendChild(
            $dom->createElement('image-url', $row['imageURL']));
        $user->appendChild(
            $dom->createElement('thumb-url', $row['thumbURL']));

        // add user-details node to XML document, e.g. users node
        $dom->documentElement->appendChild($user);
    };
    return $dom->saveXML(); // returns the formatted XML
};

ध्यान दें कि फ़ंक्शन आपसे पूर्ण परिणाम सरणी में उत्तीर्ण होने की अपेक्षा करता है, इसलिए मैं इसका परीक्षण कर सकता हूं:

$result = array(
    array(
        'uid'      => 1,
        'userName' => 'Gordon',
        'points'   => PHP_INT_MAX,
        'imageURL' => 'http://example.com/gordon.jpg',
        'thumbURL' => 'http://example.com/t_gordon.jpg'
    ),
    array(
        'uid'      => 2,
        'userName' => 'John <blink>"Frigging"</blink> Doe',
        'points'   => 0,
        'imageURL' => 'http://example.com/johndoe.jpg',
        'thumbURL' => 'http://example.com/t_johndoe.jpg'
    )
);
echo createUserDetailsXml($result);

फिर फ़ंक्शन वापस आ जाएगा

<?xml version="1.0"?>
<users>
  <user-details>
    <user-id>1</user-id>
    <user-name>Gordon</user-name>
    <user-points>2147483647</user-points>
    <image-url>http://example.com/gordon.jpg</image-url>
    <thumb-url>http://example.com/t_gordon.jpg</thumb-url>
  </user-details>
  <user-details>
    <user-id>2</user-id>
    <user-name>John &lt;blink&gt;"Frigging"&lt;/blink&gt; Doe</user-name>
    <user-points>0</user-points>
    <image-url>http://example.com/johndoe.jpg</image-url>
    <thumb-url>http://example.com/t_johndoe.jpg</thumb-url>
  </user-details>
</users>

कृपया ध्यान दें कि डीओएम स्वचालित रूप से आपके लिए जॉन डो के नाम में विशेष वर्णों से बच निकला है। डीओएम यह भी सुनिश्चित करेगा कि एक्सएमएल तत्व नाम (या यदि आप उनका उपयोग करते हैं तो गुण) वाक्य रचनात्मक रूप से मान्य हैं। इसमें एक्सएमएल प्रोलॉग भी जोड़ा गया है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. InnoDB बहुत धीमी और धीमी गति से सम्मिलित करता है

  2. ज़ेंड फ्रेमवर्क डेवलपर के लिए सर्वश्रेष्ठ ई-कॉमर्स शॉपिंग कार्ट

  3. एकाधिक चयन फ़ील्ड से डेटा को संभालना

  4. क्या आप MySQL में WHERE क्लॉज में उपनाम का उपयोग कर सकते हैं?

  5. "त्रुटि 1136 (21S01)" को ठीक करें:MySQL में डेटा सम्मिलित करते समय कॉलम गणना पंक्ति 1 पर मान गणना से मेल नहीं खाती है"