SAXParser相当于C#

use*_*890 6 c# saxparser

我有以下java代码,我需要在C#中转换这些,请帮助我..

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;
  }
Run Code Online (Sandbox Code Playgroud)

谢谢

Dar*_*rov 7

C#本机XML解析器XmlReader不支持SAX并且是仅向前的.您可以查看本文,介绍一些有关它的具体要点.您可以使用XmlReader模拟SAX解析器.如果它不适合您的需求,您还可以使用XDocument,它是一种不同的API,用于处理.NET中的XML文件.因此,得出结论,.NET框架中没有内置的XML解析器,因此如果您确实需要事件驱动的解析器,则可能需要使用第三方库或COM Interop to MSXML来实现此目的.


小智 5

过去,我在两个项目中成功地将 SAX 用于 .NET。 http://saxdotnet.sourceforge.net/