Jump to content


Photo

Creating XML output


  • Please log in to reply
1 reply to this topic

#1 chuy08

chuy08
  • Members
  • Pip
  • Newbie
  • 8 posts

Posted 10 August 2006 - 11:03 PM

I am trying to create an XML file using a PHP script.  The XML File looks something like this:

<?xml version="1.0" encoding="ISO-8859-1"?>
<ConsumerDirectXML>
<UserParams id="1" BrokerID="1"/>
        <LoanParams>
        <FirstLeinAmt>500000</FirstLeinAmt>
        <ChooseProductTypeID>1</ChooseProductTypeID>
        </LoanParams>
</ConsumerDirectXML>

The part that I don't understand is the following.  I have a series of checkboxes with each box having a different value.  If a user were to select 3 checkboxes I need to iterate through the array and write to the ChooseProductTypeID field in the XML file as such,  <ChooseProductTypeID>1,5,7</ChooseProductTypeID>.  I have been able to print out the array variable $num using the following foreach loop:

foreach ($total as $num) {
print("$num,"); }

How would I get this string into the designated XML tag?

Currently I am able to write to this XML file using textboxes and the following code for different XML tags in same file.  How would I modify what I am currently using for textboxes to use for the checkboxes while utilitzing the foreach loop.  Below is the method by which I am writting to my XML file:

        if ($node_name == "FirstLeinAmt") {
          if ($value == $firstlein) {
            // Do nothing
          } else {
            $fl_textnode = $child_obj->firstChild;
            $new_firstlein = $doc->createTextNode($firstlein);
            $child_obj->replaceChild($new_firstlein, $fl_textnode);
          }
        }
        foreach ($total as $num) {
        if ($node_name == "ChoosedProductTypeID") {
          if ($value == $num) {
            // Do nothing
          } else {
            $pt_textnode = $child_obj->firstChild;
            $new_num = $doc->createTextNode("$num,");
            $child_obj->replaceChild("$new_num", "$pt_textnode");
          }}
...


Any help appreciated.

#2 spfoonnewb

spfoonnewb
  • Members
  • PipPipPip
  • Advanced Member
  • 276 posts

Posted 10 August 2006 - 11:21 PM

Here's is a code I was given here for a for-each statement:

Someone may be able to help you along because the test says:

Warning: Invalid argument supplied for foreach()

<?php
		        
$xmldoc .= '<?xml version="1.0" encoding="UTF-8"?>'."\n";
    
$xmldoc .= "	<ConsumerDirectXML>\n";

foreach ($total as $num) {

	$xmldoc .= "		<UserParams id=1 BrokerID=1/>\n";
	$xmldoc .= "		<LoanParams>\n";
	$xmldoc .= "		<FirstLeinAmt>500000</FirstLeinAmt>\n";
	$xmldoc .= "		<ChooseProductTypeID>".$_POST["num"]."</ChooseProductTypeID>\n";
	$xmldoc .= "		</LoanParams>\n";
        	
}
$xmldoc .=  "	</ConsumerDirectXML>\n";	
		
$xmldoc;

?>

But at least theres a start.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users