Solved

How do I format XML returned by a WebService?

Posted on 2004-04-20
5
246 Views
Last Modified: 2013-11-18
So, I wrote a complex little web service in .Net to hook into a PervasiveSQL database.  I can call it using a simple POST request in a form on an HTML page.  I get back XML data, which is exactly what I expect.

However, I wan't to be able to apply some type of formatting to this returned data and integrate it into my page.  A clipping of the returned XML is below.  Keep in mind the XML that is returned is the result of a query.  Its dynamically generated.

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfIndividual xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://192.168.0.54:7171/employee/bdWeb">
  <Individual>
    <EmpNo>102</EmpNo>
    <Name>Harris, Jill</Name>
    <Address>1001 Sunset Boulevard</Address>
    <City>Dallas</City>
    <State>TX</State>
    <Zip>75231</Zip>
    <Phone>(214) 555-0121</Phone>
    <SocialSecurity>422-05-5697</SocialSecurity>
    <Sex>F</Sex>
    <MaritalStatus>S</MaritalStatus>
    <FilingStatus>1</FilingStatus>
    <EarnedIncomeCredit>0</EarnedIncomeCredit>
    <FederalAllowances>1</FederalAllowances>
    <FederalAdditionalWH>0</FederalAdditionalWH>
    <StateReportingState>61</StateReportingState>
    <StateAllowances>0</StateAllowances>
    <StateAdditionalWH>0</StateAdditionalWH>
    <DateBirth>19570303</DateBirth>
    <DateHire>19900102</DateHire>
    <DateTermination>0</DateTermination>
    <DateDrugTest>20010112</DateDrugTest>
    <PayDepartment>02</PayDepartment>
    <PayTitle>Furniture Sales Rep.</PayTitle>
    <PayFrequency>W</PayFrequency>
    <PayType>H</PayType>
    <PayAmount>9.75</PayAmount>
  </Individual>
  <Individual>
    <EmpNo>108</EmpNo>
    <Name>Nelson, Jay</Name>
    <Address>5325 Richmond Avenue</Address>
    <City>Dallas</City>
    <State>TX</State>
    <Zip>75264</Zip>
    <Phone>(214) 555-6472</Phone>
    <SocialSecurity>353-46-4943</SocialSecurity>
    <Sex>M</Sex>
    <MaritalStatus>S</MaritalStatus>
    <FilingStatus>1</FilingStatus>
    <EarnedIncomeCredit>0</EarnedIncomeCredit>
    <FederalAllowances>0</FederalAllowances>
    <FederalAdditionalWH>0</FederalAdditionalWH>
    <StateReportingState>61</StateReportingState>
    <StateAllowances>0</StateAllowances>
    <StateAdditionalWH>0</StateAdditionalWH>
    <DateBirth>19500121</DateBirth>
    <DateHire>19931015</DateHire>
    <DateTermination>0</DateTermination>
    <DateDrugTest>20001015</DateDrugTest>
    <PayDepartment>06</PayDepartment>
    <PayTitle>Driver</PayTitle>
    <PayFrequency>W</PayFrequency>
    <PayType>H</PayType>
    <PayAmount>9.5</PayAmount>
  </Individual>
</ArrayOfIndividual>
0
Comment
Question by:carlajasminelewis
  • 2
5 Comments
 
LVL 15

Expert Comment

by:dualsoul
ID: 10879818
>However, I wan't to be able to apply some type of formatting to this returned data and >integrate it into my page.

i doesn't see any question :)
you can apply XSLT transformation to your data.
can you be more precise, what do you want to achieve?
0
 
LVL 1

Author Comment

by:carlajasminelewis
ID: 10880977
>can you be more precise, what do you want to achieve?

Why yes.  I click the Submit button on my form.  A new page opens that contains XML data.  I don't want a page containing XML data.  I want an HTML page containg the XML data formatted to a stylesheet.  Now, don't get me wrong, I can format XML data right now, with plain CSS or an XSLT.  However, that is only if the XML data is already saved as an existing document.  Then I can hard code in the document path, blah, blah, blah.

I guess what I want to know is if I send the server a POST query, it send me back what you see above.  I can't insert a style reference into the XML document because I don't create it, the server does.  I'm kind of lost in knowing what to ask, but here's the options that I see.

I send the query to the server and try to capture the returned XML in an object variable and parse it with java, or php, or perl (of which I have no idea on how to start that either), or what.  Is there some other way?

I was tasked with developing a intranet dashboard.  I was easily able to write several webservice functions using VisualBasic.Net.  I can request the info using a SOAP query(which I have't bothered to figure out how) or an HTTP POST or GET.  I opted for the POST.  I have several display areas on this intranet dashboard all wanting to display information retrieved by sending queries to this webservice.  However, I just don't know how to get the data that is returned back into my page.

Further, I'm not developing the page in VisualStudio.Net for the web interface, I'm using Dreamweaver on a Mac.
0
 
LVL 15

Expert Comment

by:dualsoul
ID: 10886718
as i understand you need to gather data from some different sources?
and to display them in the dashboard?

in this case you need some server-side logic to query data and then use XSLT for transformation of it. If you tied to Microsoft platform you can do all this stuff, usgin ASP.NET for instance.
0
 
LVL 6

Accepted Solution

by:
danths earned 500 total points
ID: 10909967
Ideally your webservice should not format the data. It should still return the data as it does right now. Your assumption that
"I can format XML data right now, with plain CSS or an XSLT.  However, that is only if the XML data is already saved as an existing document.  Then I can hard code in the document path, blah, blah, blah." is wrong. In the example below the xmldoc was created using a file but

Overloads Public Overridable Sub Load( _
   ByVal inStream As Stream _
)

So create a stream from the output of your webservice and doa transform


Dim xmlDoc As New XmlDocument
Dim xslDoc As New XslTransform

xmlDoc.Load("mydoc.xml")
xslDoc.Load("mydoc.xsl")

xslDoc.Transform(xmlDoc, nothing, Response.OutputStream, Nothing)

0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Browsers only know CSS so your awesome SASS code needs to be translated into normal CSS. Here I'll try to explain what you should aim for in order to take full advantage of SASS.
JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question