[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 256
  • Last Modified:

How do I format XML returned by a WebService?

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
carlajasminelewis
Asked:
carlajasminelewis
  • 2
1 Solution
 
dualsoulCommented:
>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
 
carlajasminelewisAuthor Commented:
>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
 
dualsoulCommented:
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
 
danthsCommented:
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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now