XML Closing Tags

Hello,
I am constructing XML to make a web service call. I close one of the tags like this:
<tagname isNull="false" />
When I look at the Generated Source (Firefox), it has ignored the closing tag and has generated </tagName>.
For example,
<tag1>
    <tag2>Some Value</tag2>
    <tag3 isNull="false" />
   <tag4>Some other Value</tag4>
</tag1>
becomes
<tag1>
    <tag2>Some Value</tag2>
    <tag3 isNull="false">
   <tag4>Some other Value</tag4>
    </tag3>
    <tag3 isNull="false"></tag3>
</tag1>

Any help is appreciated!
Thanks
perlwhiteAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Pratima PharandeConnect With a Mentor Commented:
Firebugs adds missing tags on it's own. Make sure that you look at the HTML with the browser's "View Source" feature

refer - here is same answer
http://stackoverflow.com/questions/3355507/php-stop-closing-tag-being-automatically-added
0
 
perlwhiteAuthor Commented:
My View Source is showing the current XML. However, I am still getting an error from the web service. Is there anything else that I am overlooking?
0
 
mcnuteCommented:
Are you declaring your xml document as standards are requiring?

<?xml version="1.0"?>

Open in new window

0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
Ray PaseurCommented:
... it has ignored the closing tag ...
What is "it" in that statement?  How exactly are you constructing the XML document?
0
 
perlwhiteAuthor Commented:
It is the generated source.

The web service does not require the <?xml ... tag.

I am constructing xml in a php variable which is then passed to the web method.

$param = '<tag1>';
$param .= .....

I am constructing xml in the same fashion for another web method from the same web service provider and it works flawlessly.
0
 
mcnuteCommented:
Try to construct the variable with double quotes instead of single quotes.

Single quotes could mess up new lines (eol).
0
 
perlwhiteAuthor Commented:
I believe I tried that but will try it again. Thanks
0
 
Ray PaseurCommented:
I want to deconstruct this a little bit (copied from the original question).  How does this happen?  What process is changing the XML document (the becomes verb)?  These documents are not very much alike at all - in meaning or content.

For example,
<tag1>
    <tag2>Some Value</tag2>
    <tag3 isNull="false" />
   <tag4>Some other Value</tag4>
</tag1>
becomes
<tag1>
    <tag2>Some Value</tag2>
    <tag3 isNull="false">
   <tag4>Some other Value</tag4>
    </tag3>
    <tag3 isNull="false"></tag3>
</tag1>

Open in new window

0
 
Ray PaseurConnect With a Mentor Commented:
Please see http://www.laprbass.com//RAY_temp_perlwite.php to visualize the differences between these XML documents.
<?php // RAY_temp_perlwite.php
error_reporting(E_ALL);
echo '<pre>';

// DOCUMENT 1
$xml = <<<ENDXML
<tag1>
    <tag2>Some Value</tag2>
    <tag3 isNull="false" />
   <tag4>Some other Value</tag4>
</tag1>
ENDXML;
$obj = simplexml_load_string($xml);
var_dump($obj);

echo PHP_EOL;

// DOCUMENT 2
$xml = <<<ENDXML
<tag1>
    <tag2>Some Value</tag2>
    <tag3 isNull="false">
   <tag4>Some other Value</tag4>
    </tag3>
    <tag3 isNull="false"></tag3>
</tag1>
ENDXML;
$obj = simplexml_load_string($xml);
var_dump($obj);

Open in new window

WTF comes to mind ;-)
0
 
perlwhiteAuthor Commented:
View Source in Firefox shows the correct XML. View Generated Source in Firefox shows the incorrect XML.
0
 
perlwhiteAuthor Commented:
Thank you Ray for the visualization
0
 
Ray PaseurCommented:
That sounds like the problem might be in Firefox.  If your program code is creating a valid XML document, it doesn't seem like FF is rendering it correctly with View Generated Source.
0
 
perlwhiteAuthor Commented:
I sent the XML using the WCFStorm tool and I get a successful response.

I took the exact same XML and sent it via PHP and I get the "Object reference not set to anything" error.
$arg = 'XML sent using WCFStorm tool';
$c->call('Method Name', $arg);
I am using nusoapclient and Zend
0
 
Ray PaseurCommented:
Sorry -- if it's SOAP I have to sign off.  Nothing personal, but SOAP is an impossibly bad protocol, and now that I know it's SOAP, I can accept any outcome, no matter how ridiculous, as plausible.  Ask the publishers if they have a RESTful interface and use if it they do.  It will most likely work correctly and intuitively the first time.  If they do not have a REST interface, ask them for a PHP example using SOAP.  I wish I could be of some help, but life is too short to use and debug SOAP.  It's like being a blind man in a knife fight.
0
 
perlwhiteAuthor Commented:
They don't have a RESTful interface. I am required to use SOAP. Can someone help?
0
 
perlwhiteAuthor Commented:
Please ignore the delete request. I have accepted 2 answers as solutions.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.