Solved

How do I format XML returned by a WebService?

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

Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
XSLT Help 12 34
Windows Tool to Build Android and iOS App 3 112
XML to Excel using XSL - formatting 3 42
read an xml file in perl 2 64
The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
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 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 …

679 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