För det första så vill jag tacka all som hjälpt mig med mitt förra xml datalist problem:)
Nu har jag ett nytt problem:) Det är hur det ska skrivas ut i min lista, nu skriver det ut allt som står i min xml fil inte så snyggt och med mellan slag mellan varje element i xml filen, hur gör jag nu min listbox snygg? Bifogar här nedan min kod
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Xml.XPath;
namespace listaxml
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.ListBox ListBoxContacts;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if (!(Page.IsPostBack))
{
//Response.Write(Server.MapPath(""));
myFunction();
}
}
protected void myFunction()
{
// fylla din listbox
XmlTextReader reader = new XmlTextReader(Server.MapPath("webs.xml"));
while (reader.Read())
{
// Adda varje namn till din listbox
if ((reader.NodeType == XmlNodeType.Element) && (reader.Name=="Email"))
reader.Read();
//ListBoxContacts.Items.Add(reader.Value + "\<br\>");
//Response.Write(reader.Value + "\<br\>");
}
}
\#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// \<summary\>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// \</summary\>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
\#endregion
}
Så här kan du göra, finns säkert bättre sätt. Du får själv göra om den till C# :)
dim xtr as new XmlTextReader(Server.MapPath("xmltest2.xml"))
dim fullname as string
while xtr.read()
if xtr.nodetype = xmlnodetype.element then
if xtr.name = "Name" or xtr.name = "LastName" then
if xtr.name = "Name" then
xtr.read()
fullname &= xtr.value & " "
end if
if xtr.name = "LastName" then
xtr.read()
fullname &= xtr.value
lbTest.items.add(fullname)
fullname = ""
end if
end if
end if
end while
xtr.close()
Jag kör vb.net du c# så om du vill använda koden så får du göra om den till c#.
Ex
dim intCounter as integer = 0
i vb.net blir i c#
int intCounter = 0 (tror jag :) )
Vet inte om det är den snabbaste och bästa sättet men jag gillar Serilazation dvs att du skapar en class som t.ex heter Kund och sedan en class som heter KundCollection. Kund classen skall spegla innehåller i <Web> tagarna. Dvs med publica variabler i samma namn som xml-taggarna. Sedan kör man en XmlSerialization på KundCollection och fyller den med de olika <Web> som finns i xml filen. Där efter sätter du bara din KundCollecion som datasource på listbox och kör .DataBind() så blir det nog bra. Sedan om det behövs formateras lite mer så kan man nog säker fixa det. Mer information här: http://samples.gotdotnet.com/quickstart/howto/doc/xmlserialization/rwobjfromxml.aspx
256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849