Avatar billede fiskerendk Nybegynder
16. september 2002 - 14:54 Der er 6 kommentarer og
1 løsning

XML notes i ASP.NET

Jeg har en ASP.NET Kode her som henter indholdet af et XML dokument men jeg skal ha lavet noget så den kun henter de elememter jeg vil have.

f.eks. vil jeg kun have item_0 fra .XML filen. det sted som jeg skal bruge det.. så skal jeg længere nede kunne skrive item_1 ud f.eks.

Eksempel:
---------

blahblag
<br>
<asp:DataGrid id="item_0runat="server" />
blahblah
<br>
<asp:DataGrid id="item_1" runat="server" />

sådan noget i den stil er det muligt? og hvordan?


.ASPX filen:
------------
<%@ Page Language="C#" runat="server" %>
<%@ Import namespace="System.Data" %>
<%@ Import namespace="System.Xml" %>

<script language="C#" runat="server">
  void Page_Load()
    {
      string xmlFilename = @"c:\inetpub\wwwroot\persons.xml";
      DataSet newDataSet = new Dataset();
      newDataSet.ReadXml(xmlFilename);
      DataGrid1.DataSource = newDataSet;
      DataGrid1.DataBind();
    }
</script>
<asp:DataGrid id="DataGrid1" runat="server" />

En lille smule fra XML filen!

.XML Filen:
----------
<Formatted>
  <Item_0>4 days 01 hours 08 mins</Item_0>
  <Item_1>10,00</Item_1>
  <Item_2>77MB/256MB</Item_2>
</Formatted>

Med venlig Hilsen
Thomas Nissen
Avatar billede jakobandersen Nybegynder
16. september 2002 - 15:41 #1
prøv at kigge lidt på dette her:

<%@ Page Language="c#" debug="true" %>
<%@ Import Namespace="System.Xml" %>
<script runat="server" language="c#">
    void Page_Load()
    {
        XmlDocument objDoc = new XmlDocument();
        objDoc.LoadXml( "<Formatted><Item_0>4 days 01 hours 08 mins</Item_0><Item_1>10,00</Item_1><Item_2>77MB/256MB</Item_2></Formatted>" );
        XmlNode objRoot = objDoc.DocumentElement;
        XmlNode post = objRoot.SelectSingleNode("descendant::Item_0");
        label1.Text = post.OuterXml;
    }
</script>
<html>
    <body>
        <asp:label id="label1" runat="server" />
    </body>
</html>

Når du skal indlæse fra en fil istedet for så bruger du blot Load metoden på XmlDocument med en relativ sti.
Avatar billede kichian Nybegynder
16. september 2002 - 15:48 #2
Eller
DataGrid1.DataSource = newDataSet.Tables["Formatted"];
Avatar billede fiskerendk Nybegynder
16. september 2002 - 15:51 #3
kichian > Den var god men det er jo kun en del af det.. nu vil jeg så have så jeg kan lave f.eks.
<asp:label id="item_0" runat="server" />
<asp:label id="item_1" runat="server" />
<asp:label id="item_2" runat="server" />
osv

så disse ikke blir udskrevet samme sted!
Avatar billede jakobandersen Nybegynder
16. september 2002 - 17:04 #4
Sådan her f.eks.:

<%@ Page Language="c#"  %>
<%@ Import Namespace="System.Xml" %>
<script runat="server" language="c#">
    XmlDocument objDoc = new XmlDocument();
    XmlNode objRoot;
    string GetXMLNode( string NodeName ){
                XmlNode post = objRoot.SelectSingleNode("descendant::" + NodeName);
                return post.OuterXml;
    }
    void LoadXml(){
        objDoc.LoadXml( "<Formatted><Item_0>4 days 01 hours 08 mins</Item_0><Item_1>10,00</Item_1><Item_2>77MB/256MB</Item_2></Formatted>" );
                objRoot = objDoc.DocumentElement;
    }
        void Page_Load(){   
            LoadXml();
                label1.Text = GetXMLNode( "Item_0" );
                label2.Text = GetXMLNode( "Item_1" );
                label3.Text = GetXMLNode( "Item_2" );
            }
</script>
<html>
    <body>
        <asp:label id="label1" runat="server" /><br />
        <asp:label id="label2" runat="server" /><br />
        <asp:label id="label3" runat="server" /><br />
    </body>
</html>
Avatar billede fiskerendk Nybegynder
16. september 2002 - 18:05 #5
Ik få at gå dig på men er der mulighed for at du lige kan insætte det sådan at man kan skrive en adresse til filen mange tak så skal du nok få points!
Avatar billede jakobandersen Nybegynder
16. september 2002 - 18:22 #6
<%@ Page Language="c#"  %>
<%@ Import Namespace="System.Xml" %>
<script runat="server" language="c#">
    XmlDocument objDoc = new XmlDocument();
    XmlNode objRoot;
    string GetXMLNode( string NodeName ){
                XmlNode post = objRoot.SelectSingleNode("descendant::" + NodeName);
                return post.OuterXml;
    }
    void LoadXml(){
        objDoc.Load( "dinfil.xml" );
                objRoot = objDoc.DocumentElement;
    }
        void Page_Load(){   
            LoadXml();
                label1.Text = GetXMLNode( "Item_0" );
                label2.Text = GetXMLNode( "Item_1" );
                label3.Text = GetXMLNode( "Item_2" );
            }
</script>
<html>
    <body>
        <asp:label id="label1" runat="server" /><br />
        <asp:label id="label2" runat="server" /><br />
        <asp:label id="label3" runat="server" /><br />
    </body>
</html>
Avatar billede fiskerendk Nybegynder
16. september 2002 - 18:47 #7
Mange tak for det..! Moonduck point til dig for den store hjælp!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester