Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-05 12:31:20 - Pelle Johansson, i forum c# (c-sharp), Tråden har 8 Kommentarer och lästs av 1015 personer

Jag försöker köra denna snurra och lägger till xmldata via funktioner för att göra det lättare att hålla reda på. Det som händer är dock lite mystiskt och jag kan bara inte se det, kan ni?

Felet är att när den 2:a funktionen kallas så fylls ingen information på i writer-objektet. Endast informationen från den första funktionen sparas.

        <asp:Button ID="Button1" runat="server" Text="Generera XML" OnClick="Button1_Click" /></div>
        <asp:Literal ID="literal1" runat="server" />


using System.IO;
using System.Xml;
using System.Text;

 protected void Button1_Click(object sender, EventArgs e)
    {

        // skapar huvudet

        string randomguid = System.Guid.NewGuid().ToString();
        string filename = "c:\\test_" + DateTime.Now.Day + ".xml";
        if (File.Exists(filename))
            File.Delete(filename);


        // Create a new XmlTextWriter instance
        XmlTextWriter writer = new XmlTextWriter(filename, Encoding.UTF8);

        writer.Indentation = 3;
        writer.Formatting = Formatting.Indented;

        // start writing!
        writer.WriteStartDocument();
        writer.WriteStartElement("fi2energystatement");
        writer.WriteElementString("fi2estatement_guid", randomguid);

        // kallar på funktionerna för att fylla vidare i writer objektet
        fi2estatement_owner(writer, randomguid);
        fi2estatement_coowner(writer, randomguid);
      
        writer.WriteEndElement();

        // end writing
        writer.WriteEndDocument();
        writer.Flush();
        writer.Close();

        // display result
        XmlDocument doc = new XmlDocument();
        doc.PreserveWhitespace = true;
        doc.Load(filename);
        literal1.Text = Server.HtmlEncode(doc.InnerXml.ToString()).Replace(Environment.NewLine, "<br />");

    }

    private XmlTextWriter fi2estatement_owner(XmlTextWriter writer, string randomguid)
    {

        writer.WriteStartElement("fi2estatement_owner");
                
        writer.WriteStartElement("fi2part_ids");

        writer.WriteStartElement("fi2_id");
        writer.WriteAttributeString("usage", "GUID");
        writer.WriteAttributeString("owner", "fi2");
        writer.WriteString(randomguid);
                
        writer.WriteEndElement();

        // -- class

        writer.WriteStartElement("fi2part_class");
        writer.WriteElementString("fi2class_code", "02");


        writer.WriteStartElement("fi2part_scheme");
        writer.WriteElementString("fi2class_id", "CA000_005_001");
        writer.WriteElementString("fi2class_name", "Klassificering fi2partner");

        writer.WriteEndElement();
        writer.WriteEndElement();
        

        // -- 

        writer.WriteElementString("fi2part_name", "Ägarnamn");
        writer.WriteElementString("fi2part_orgidcode", "556565-1234");
        writer.WriteElementString("fi2part_tel", "08-695 60 00");
        writer.WriteElementString("fi2part_mobtel", "0730-123 456");
        writer.WriteElementString("fi2part_email", "123@456.se");
        
        // -- adress

        writer.WriteStartElement("fi2part_address");

        writer.WriteStartElement("fi2addr_class");
        writer.WriteElementString("fi2class_code", "05");
        
        writer.WriteStartElement("fi2class_scheme");
        writer.WriteElementString("fi2scheme_id", "CA000_007_001");
        writer.WriteElementString("fi2scheme_name", "Klassificeringsadresser");

        writer.WriteEndElement();
        writer.WriteEndElement();

        writer.WriteElementString("fi2addr_addrline", "Adress");
        writer.WriteElementString("fi2addr_zipcode", "12345");
        writer.WriteElementString("fi2addr_city", "Postort");

        writer.WriteEndElement();
        writer.WriteEndElement();

        writer.Flush();

        return writer;
    
    }
    private XmlTextWriter fi2estatement_coowner(XmlTextWriter writer, string randomguid)
    {

        writer.WriteStartElement("fi2estatement_coowner");
        
        writer.WriteStartElement("fi2part_ids");

        writer.WriteStartElement("fi2_id");
        writer.WriteAttributeString("usage", "GUID");
        writer.WriteAttributeString("owner", "fi2");
        writer.WriteString(randomguid);
                
        writer.WriteEndElement();
        writer.WriteEndElement();
        
        // -- class

        writer.WriteStartElement("fi2part_class");
        writer.WriteElementString("fi2class_code", "02");

        writer.WriteStartElement("fi2part_scheme");
        writer.WriteElementString("fi2class_id", "CA000_005_001");
        writer.WriteElementString("fi2class_name", "Klassificering fi2partner");

        writer.WriteEndElement();
        writer.WriteEndElement();


        writer.WriteElementString("fi2part_name", "Övrig ägare namn");
        writer.WriteElementString("fi2part_orgidcode", "651212-1234");

        writer.WriteEndElement();

        writer.Flush();
        return writer;

    }


Svara

Sv: Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-05 12:47:24 - Andreas Thorarins


kanske du kan sätta writerns som reference i anropen , alternativt ta emot den du skickar tillbaka från dem nu :)

prova detta:
private void fi2estatement_owner(ref XmlTextWriter writer, string randomguid)
private void fi2estatement_coowner(ref XmlTextWriter writer, string randomguid)



Svara

Sv:Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-05 14:16:52 - Pelle Johansson

Var inne på att köra ref .. Fick också ändra så anropet blev ..

fi2estatement_owner(ref writer, randomguid);
fi2estatement_coowner(ref writer, randomguid);

Men det hjälper inte. Har säkert missat nåt larvigt ..


Svara

Sv: Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-05 17:22:48 - Johan Djupmarker

Har ingen aning om vad det beror på, lite felsökningstips dock:

Vad händer om du bara anropar den andra funktionen, fungerar det då?

Om du anropar den första 2 ggr, blir det dubbelt med uppgifter då?

Om du klistrar in koden direkt i Click-metoden, fungerar det då?

/Johan


Svara

Sv: Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-05 17:38:10 - Simon Dahlbacka

hmm, klistrade in orginalkoden och körde den i princip as is, den funkade som sig bör. (Visserligen inte som webapp men iaf)

EDIT: Förutom att co-owner taggen kommer inuti owner taggen, om det inte ska vara så har du tappat bort ett

writer.WriteEndElement();


Svara

Sv:Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-05 22:18:39 - Pelle Johansson

Jag har faktiskt ingen aning heller - men felet är alltså att datat inte byggs på i de andra rutinen, bara den första. Det jag fick göra var att deklarera writer som private och därigenom slippa skicka med objektet mellan funktionerna, då fungerade det.

Dock vore det väldigt roligt och veta varför jag gör fel.


Svara

Sv: Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-06 09:46:30 - Jan Bulér

Koperade in din originalkod i en ASP.NET app för att söka felet men det fungerade utan problem när jag testkörde. Jag kör VS2005.

Resultatet:

<?xml version="1.0" encoding="utf-8"?>
<fi2energystatement>
<fi2estatement_guid>508817f2-0758-42cb-b8fd-b4b0d0d989c2</fi2estatement_guid>
<fi2estatement_owner>
<fi2part_ids>
<fi2_id usage="GUID" owner="fi2">508817f2-0758-42cb-b8fd-b4b0d0d989c2</fi2_id>
<fi2part_class>
<fi2class_code>02</fi2class_code>
<fi2part_scheme>
<fi2class_id>CA000_005_001</fi2class_id>
<fi2class_name>Klassificering fi2partner</fi2class_name>
</fi2part_scheme>
</fi2part_class>
<fi2part_name>Ägarnamn</fi2part_name>
<fi2part_orgidcode>556565-1234</fi2part_orgidcode>
<fi2part_tel>08-695 60 00</fi2part_tel>
<fi2part_mobtel>0730-123 456</fi2part_mobtel>
<fi2part_email>123@456.se</fi2part_email>
<fi2part_address>
<fi2addr_class>
<fi2class_code>05</fi2class_code>
<fi2class_scheme>
<fi2scheme_id>CA000_007_001</fi2scheme_id>
<fi2scheme_name>Klassificeringsadresser</fi2scheme_name>
</fi2class_scheme>
</fi2addr_class>
<fi2addr_addrline>Adress</fi2addr_addrline>
<fi2addr_zipcode>12345</fi2addr_zipcode>
<fi2addr_city>Postort</fi2addr_city>
</fi2part_address>
</fi2part_ids>
<fi2estatement_coowner>
<fi2part_ids>
<fi2_id usage="GUID" owner="fi2">508817f2-0758-42cb-b8fd-b4b0d0d989c2</fi2_id>
</fi2part_ids>
<fi2part_class>
<fi2class_code>02</fi2class_code>
<fi2part_scheme>
<fi2class_id>CA000_005_001</fi2class_id>
<fi2class_name>Klassificering fi2partner</fi2class_name>
</fi2part_scheme>
</fi2part_class>
<fi2part_name>Övrig ägare namn</fi2part_name>
<fi2part_orgidcode>651212-1234</fi2part_orgidcode>
</fi2estatement_coowner>
</fi2estatement_owner>
</fi2energystatement>


Svara

Sv:Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-18 08:25:54 - Jan Bulér

Hur gick det med detta, lite response Pelle?


Svara

Sv: Har problem med en xmltextwriter som inte uppdateras...

Postades av 2008-03-18 12:32:22 - Pelle Johansson

Hej , skrev in det 2 inlägg uppåt men kan ta det igen.

Det som hände var att objektet tömdes hela tiden, eller rättare sagt inte fylldes på. Det jag gjorde var att skapa objektet private och på så sätt låta det leva genom funktionerna.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 710
27 958
271 751
673
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies