6

以下の 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;
  }

ありがとう

4

2 に答える 2

9

C# ネイティブ XML パーサーXmlReaderは SAX をサポートしておらず、前方のみです。あなたはそれについてのいくつかの特定のポイントを提示するこの記事を見てみるかもしれません. XmlReader を使用して SAX パーサーをシミュレートできます。ニーズに合わない場合は、.NET で XML ファイルを操作するための別の API であるXDocumentを使用することもできます。したがって、.NET フレームワークにはプッシュ XML パーサーが組み込まれていないので、イベント ドリブン パーサーが本当に必要な場合は、これを実現するためにサード パーティのライブラリまたは COM Interop to MSXML を使用する必要があるかもしれません。

于 2010-10-11T06:38:19.897 に答える
5

過去に 2 つのプロジェクトで SAX for .NET を使用して成功しました。 http://saxdotnet.sourceforge.net/

于 2014-05-04T15:50:56.850 に答える