XML ファイルを XmlDocument に読み込むときにコメントを無視するにはどうすればいいですか? [重複] 質問する

XML ファイルを XmlDocument に読み込むときにコメントを無視するにはどうすればいいですか? [重複] 質問する

私は C# で XML ドキュメントを読み取ろうとしています。次のようにしています:

XmlDocument myData = new XmlDocument();
myData.Load("datafile.xml");

とにかく、XmlNode.ChildNodes を読み込むときにコメントが表示されることがあります。

同じ要件を経験している人のために、最終的に私が実行した方法を次に示します。

/** Validate a file, return a XmlDocument, exclude comments */
private XmlDocument LoadAndValidate( String fileName )
{
    // Create XML reader settings
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.IgnoreComments = true;                         // Exclude comments
    settings.ProhibitDtd = false;                           
    settings.ValidationType = ValidationType.DTD;           // Validation

    // Create reader based on settings
    XmlReader reader = XmlReader.Create(fileName, settings);

    try {
        // Will throw exception if document is invalid
        XmlDocument document = new XmlDocument();
        document.Load(reader);
        return document;
    } catch (XmlSchemaException) {
        return null;
    }
}

ありがとう、
トマソ

ベストアンサー1

あなたはXmlReaderXmlReaderSettings.IgnoreCommentstrueに設定:

XmlReaderSettings readerSettings = new XmlReaderSettings();
readerSettings.IgnoreComments = true;
using (XmlReader reader = XmlReader.Create("input.xml", readerSettings))
{
    XmlDocument myData = new XmlDocument();
    myData.Load(reader);
    // etc...
}

(以下から発見)ここ検索してXmlDocument ignore comments

おすすめ記事