Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C#][XML] Apertura file tag abbreviati

    Ciao a tutti,
    come faccio a leggere un file formattato in xml con i tag abbreviati?

    esempio

    <Oggetto
    transform="translate(3.3116772e-6,-2493.0326)"
    id="use2734"
    x="0"
    y="0"
    width="744.09448"
    height="1052.3622"
    xlink:href="#g47930" />


    ------------------------------------------------------------------
    Ho provato ad usare il codice (da MSDN) ma rileva solo "Oggetto" senza attributi
    ------------------------------------------------------------------
    XmlTextReader reader = new XmlTextReader("File.xml");
    while (reader.Read())
    {
    switch (reader.NodeType)
    {
    case XmlNodeType.Element: // The node is an element.
    Console.Write("<" + reader.Name);
    Console.WriteLine(">");
    break;
    case XmlNodeType.Text: //Display the text in each element.
    Console.WriteLine(reader.Value);
    break;
    case XmlNodeType.Attribute:
    Console.WriteLine(reader.Value);
    break;
    case XmlNodeType.EndElement: //Display the end of the element.
    Console.Write("</" + reader.Name);
    Console.WriteLine(">");
    break;
    }
    }

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    il codice che hai postato mi sembra giusto. Posta anche l'intero file xml cosi' vediamo di capire meglio...
    I got the remedy

  3. #3
    Il file è un disegno svg mi intersa scorrere il file e recuperare per ogni id la x e la y
    ad esempio per questo file vorrei ottenere
    "rect2383", "185.71428", "329.50504"


    <?xml version="1.0" encoding="UTF-8" standalone="no"?>

    <svg
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    version="1.0"
    width="744.09448"
    height="1052.3622"
    id="svg2">
    <defs
    id="defs4" />
    <g
    id="layer1">
    <rect
    width="317.14285"
    height="128.57143"
    x="185.71428"
    y="329.50504"
    id="rect2383"
    style="fill:#ffdd55" />
    </g>
    </svg>

    grazie

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    ho fatto un esempio perchè non riuscivo a capire. Cosi' funziona...

    XmlTextReader reader = new XmlTextReader("File.xml");
    while (reader.Read())
    {
    if (reader.NodeType == XmlNodeType.Element && reader.Name.CompareTo("rect") == 0)
    {
    string id = reader.GetAttribute("id");
    string x = reader.GetAttribute("x");
    string y = reader.GetAttribute("y");
    }
    }
    I got the remedy

  5. #5


    Grande funziona..

    Grazie

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    prego
    I got the remedy

  7. #7
    Ciao ragazzi, ho anch'io a che fare con l'XmlTextReader ed ho un problema collegato a questo...
    Non ho problemi a leggere gli attributi di un elemento con un tag abbreviato, ma ho problemi a riconoscerlo...
    Vi spiego... Sto salvando gli elementi a mano a mano che li leggo in un stack, per poi fare una pop quando trovo l'elemento di chiusura... Il problema è che il tag viene riconosciuto come di apertura e basta (ho debuggato e il NodeType è proprio "Element")...
    Sapete se c'è un metodo booleano particolare che non ho visto, oppure avreste un'altra idea (che so, come riconoscere se l'ultimo carattere prima della chiusura del tag è "/")?

    Grazie mille!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.