Solved

How do I format XML returned by a WebService?

Posted on 2004-04-20
5
242 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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Most of the sites are being standardized with W3C Web Standards. W3C provides lot of web standard services to the web. They have the web specification, process and documentation for all the web standards. You can apply HTML, CSS and Accessibility st…
Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
The viewer will learn how to dynamically set the form action using jQuery.

762 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now