On 1 Jun 2006 21:40:43 -0700, "th3dude" <gn*****@gmail. com> wrote:
Question is, how can i just read the returned xml string from the API
and parse out all my data without having to deal with creating,
reading, dumping all these files.
You need to create a MemoryStream out of it. The example I'm pasting
below I created a DOM out of the XML but I think you can morph it into
what you want.
public static List<Membership ProfileInfo>
CheckXMLForProf ileData(string xmlData,string userName,out
string errorString)
{
// take in this xml and look for profile data
// <profile defaultProvider ="SqlProfilePro vider">
// <providers>
// <remove name="AspNetSql ProfileProvider "/>
// <add name="SqlProfil eProvider"
type="System.We b.Profile.SqlPr ofileProvider"
// connectionStrin gName="LocalSql Server"/>
// </providers>
// <properties>
// <add name="advancedM ode" type="bool"/>
// <add name="defaultCo nnectionName"
type="string"/>
// <add name="defaultNa meSpaceGenerate d"
type="string"/>
// <add name="debugMode " type="bool"/>
// <add name="FirstName " type="string"/>
// <add name="LastName" type="string"/>
// <add name="City" type="string"/>
// <add name="State" type="string"/>
// <add name="Country" type="string"/>
// <add name="Company" type="string"/>
// </properties>
//</profile>
errorString = string.Empty;
byte[] byteArray = new byte[xmlData.Length];
System.Text.ASC IIEncoding encoding = new
System.Text.ASC IIEncoding();
byteArray = encoding.GetByt es(xmlData);
// Load the memory stream
MemoryStream memoryStream = new MemoryStream(by teArray);
//XmlDocument doc = new XmlDocument();
memoryStream.Se ek(0, SeekOrigin.Begi n);
List<Membership ProfileInfo> mpiLi = new
List<Membership ProfileInfo>();
if (byteArray.Leng th > 0)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(memory Stream);
string xPath1 = "/system.web/profile/properties";
XmlNodeList nodeList = doc.SelectNodes (xPath1);
foreach (XmlNode nodex in nodeList)
{
if (nodex.HasChild Nodes)
{
foreach (XmlNode nodexx in
nodex.ChildNode s)
{
if (nodexx.Name.Eq uals("group"))
{
// Get Group Name
MembershipProfi leInfo mpi = new
MembershipProfi leInfo();
mpi = GetAttrs(nodexx ,
string.Empty);
string prefixName = mpi.Name;
foreach (XmlNode nodexxx in
nodexx.ChildNod es)
{
MembershipProfi leInfo mpi1 =
new MembershipProfi leInfo();
mpi1 = GetAttrs(nodexx x,
prefixName);
mpiLi.Add(mpi1) ;
}
}
else if (nodexx.Name.Eq uals("add"))
{
MembershipProfi leInfo mpi = new
MembershipProfi leInfo();
mpi = GetAttrs(nodexx ,
string.Empty);
mpiLi.Add(mpi);
}
}
}
}
}
catch (Exception eee)
{
errorString = eee.ToString();
}
}
return mpiLi;
}
Peter Kellner
http://peterkellner.net