Avatar billede daywalker123 Nybegynder
12. juni 2008 - 11:44 Der er 13 kommentarer og
1 løsning

Konvertere XML values til tekst

Hej

Jeg har en log fil i xml format, hvori der er nogle values fx:
value="112" som skal konverteres til et ord som "international".

Der er så nogen values som har nogle ord og disse values vil jeg gerne have konverteret til disse ord på den ene eller anden måde - nogen der har en løsning til dette?
Avatar billede arne_v Ekspert
12. juni 2008 - 11:52 #1
XSLT
et hvilket som helst programmerings sprog som man manipulere et XML DOM dokument
Avatar billede daywalker123 Nybegynder
12. juni 2008 - 11:59 #2
Hvis jeg så har flere logfiler, så kunne jeg lave en side med et script som kører log filen igennem, kigger på values og oversætter dem til det rigtige ord..?
Avatar billede daywalker123 Nybegynder
12. juni 2008 - 12:07 #3
de values jeg har er værdier fra ascii tabellen.. Så jeg ska lave noget der kan oversætte ved hjælp af en ascii tabel..
Avatar billede arne_v Ekspert
12. juni 2008 - 14:15 #4
Det boer sagtens kunne lade sig goere.

Hvad bruger du ? PHP ? ASP.NET ?
Avatar billede daywalker123 Nybegynder
12. juni 2008 - 14:24 #5
Ville helst bruge asp.net .. fandt lige en dette: http://bytes.com/forum/thread232850.html
Måske det er noget i den stil?
Avatar billede arne_v Ekspert
13. juni 2008 - 18:10 #6
Hvis du vil goere det i kode, saa vil:

(char)int.Parse(val)

goere det.

PS: Du kan altid stole paa Jon Skeet.
Avatar billede daywalker123 Nybegynder
14. juni 2008 - 11:44 #7
Har lavet lidt kode, men den vil ikke printe min Action value?

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

public class Sample
{
    public static void Main()
    {
        XmlDocument xmlDocument = new XmlDocument();
        xmlDocument.Load( @"C:\S2.xml" );
        foreach( XmlElement LogEvent in xmlDocument.SelectNodes( @"Events/LogEvent" ) )
        {
           
            Console.WriteLine( LogEvent.GetAttribute( "Action" ) );
           
            foreach( XmlAttribute attribute in LogEvent.Attributes )
            {
                Console.WriteLine( "attribute with name {0} has value {1}.", attribute.Name, attribute.Value );
            }
        }
    }

}
Avatar billede arne_v Ekspert
15. juni 2008 - 20:54 #8
Hvordan ser din input XML ud ?
Avatar billede daywalker123 Nybegynder
15. juni 2008 - 21:09 #9
<Events>
  <LogEvent Action="5" Value="1" Cursor="0" Block="0" Time="00:00:00:000" />
  <LogEvent Action="7" Value="1" Cursor="141" Block="12" Time="00:00:01:342" />
  <LogEvent Action="7" Value="1" Cursor="154" Block="11" Time="00:00:01:836" />
  <LogEvent Action="7" Value="1" Cursor="118" Block="5" Time="00:00:02:625" />
  <LogEvent Action="7" Value="1" Cursor="124" Block="4" Time="00:00:03:604" />
  <LogEvent Action="1" Value="77" Cursor="1" Block="0" Time="00:00:04:777" />

osv.

Så er der så en masse forskellige andre ting men det er fra de noder jeg ska udlæse fra..
Avatar billede arne_v Ekspert
15. juni 2008 - 21:15 #10
Din kode virker fint hos mig !
Avatar billede arne_v Ekspert
15. juni 2008 - 21:16 #11
C:\IDEProjects\SharpDevelop3\E13\E13\bin\Release>e13
5
attribute with name Action has value 5.
attribute with name Value has value 1.
attribute with name Cursor has value 0.
attribute with name Block has value 0.
attribute with name Time has value 00:00:00:000.
7
attribute with name Action has value 7.
attribute with name Value has value 1.
attribute with name Cursor has value 141.
attribute with name Block has value 12.
attribute with name Time has value 00:00:01:342.
7
attribute with name Action has value 7.
attribute with name Value has value 1.
attribute with name Cursor has value 154.
attribute with name Block has value 11.
attribute with name Time has value 00:00:01:836.
7
attribute with name Action has value 7.
attribute with name Value has value 1.
attribute with name Cursor has value 118.
attribute with name Block has value 5.
attribute with name Time has value 00:00:02:625.
7
attribute with name Action has value 7.
attribute with name Value has value 1.
attribute with name Cursor has value 124.
attribute with name Block has value 4.
attribute with name Time has value 00:00:03:604.
1
attribute with name Action has value 1.
attribute with name Value has value 77.
attribute with name Cursor has value 1.
attribute with name Block has value 0.
attribute with name Time has value 00:00:04:777.
Avatar billede daywalker123 Nybegynder
15. juni 2008 - 22:26 #12
Når jeg fjerner alle andre noder end min <Event> virker det også hos mig.. hvorfor kan den ikke finde ud af det når jeg har fx :
<?xml version="1.0" encoding="utf-8"?>
<Logfile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="Translog">
  <VersionString>3.2.5.0</VersionString>

Og flere ting inde i log filen?

Skal jeg på en måde fortælle at jeg kun vil kigge på <event> noden?
Avatar billede arne_v Ekspert
15. juni 2008 - 22:58 #13
xmlDocument.SelectNodes( "//Events/LogEvent" )

måske
Avatar billede daywalker123 Nybegynder
28. juni 2008 - 15:00 #14
nyt spm oprettet med opdateret kode.
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
Kurser inden for grundlæggende programmering

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