Solved

How do I format XML returned by a WebService?

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

I will show you how to create a ASP.NET Captcha control without using any HTTP HANDELRS or what so ever. you can easily plug it into your web pages. For Example a = 2 + 3 (where 2 and 3 are 2 random numbers) Session("Answer") = 5 then we…
What is Node.js? Node.js is a server side scripting language much like PHP or ASP but is used to implement the complete package of HTTP webserver and application framework. The difference is that Node.js’s execution engine is asynchronous and event…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
The viewer will learn how to dynamically set the form action using jQuery.

920 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

14 Experts available now in Live!

Get 1:1 Help Now