7 Stimmen

SAXParser-Äquivalent in C#

Ich habe unten Java-Code, ich brauche, um diese in C # zu konvertieren, bitte helfen Sie mir.

public class Configuration {

  private ConfigContentHandler confHandler;

  public Configuration() {
  }

  public boolean parseConfigFile() throws Exception {
    boolean bReturn = true;

    SAXParser parser = SAXParserFactory.newInstance().newSAXParser();

    System.out.println("*** Start parsing");

    try {
       confHandler = new ConfigContentHandler(100);
       // Configuration file must be located in main jar file folder

       // Set the full Prosper file name
       String sConfigFile = "configuration.xml";

       // Get abstract (system independent) filename
       File fFile = new File(sConfigFile);

       if (!fFile.exists()) {
          System.out.println("Could not find configuration file " + sConfigFile + ", trying input parameters.");
          bReturn = false;
       }  else if (!fFile.canRead()) {
          System.out.println("Could not read configuration file " + sConfigFile + ", trying input parameters.");
          bReturn = false;
       } else {
          parser.parse(fFile, confHandler);
       }

    } catch (ArrayIndexOutOfBoundsException e) {
        System.out.println("Input error.");
    } catch (Exception e) {
        e.printStackTrace();
    }

    System.out.println("*** End parsing");
    return bReturn;
  }

Gracias

10voto

Darin Dimitrov Punkte 990883

Native XML-Parser in C# XmlReader unterstützt kein SAX und ist nur vorwärtsgerichtet. Sie können einen Blick werfen auf dieser Artikel einige spezifische Punkte dazu darlegen. Sie könnten einen SAX-Parser mit XmlReader simulieren . Wenn dies nicht Ihren Bedürfnissen entspricht, können Sie auch Folgendes verwenden XDocument die eine andere API für die Arbeit mit XML-Dateien in .NET ist. Zusammenfassend lässt sich also sagen, dass es keinen Push-XML-Parser gibt, der in das .NET-Framework integriert ist, so dass Sie möglicherweise eine Bibliothek eines Drittanbieters oder COM Interop zu MSXML verwenden müssen, um dies zu erreichen, wenn Sie wirklich einen ereignisgesteuerten Parser benötigen.

5voto

takuki Punkte 124

Ich habe SAX für .NET in der Vergangenheit in zwei Projekten erfolgreich eingesetzt. http://saxdotnet.sourceforge.net/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X