2

次のような XML ファイルがあります。

<!DOCTYPE Root [
<!ELEMENT anEntity (#PCDATA)>
<!ELEMENT 500SuchElementsHere (#PCData)>
<!ENTITY file1 SYSTEM "file1.xml">
...
<!ENTITY file25 SYSTEM "file25.xml">
]>
<Root>
    &file1;
    &file2;
    ...
    &file25;
</Root>

このように XmlDocument を使用して XML ファイルを読み込んでいます

XmlDocument doc = new XmlDocument();
doc.Load("filePath to the above xml file");

ロードは、タイトルに記載されている例外をスローします。Windows 7 Ultimateで.NET 4.5、VS 2012 Desktop Expressを実行しています。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

4

設定プロパティMaxCharactersFromEntitiesを0(またはシナリオで機能する多数)に設定したXmlReaderを使用する必要があります。

        var doc = new XmlDocument();

        using (var stream = new MemoryStream(Encoding.Default.GetBytes(xml)))
        {
            var settings = new XmlReaderSettings();

            // The default is 0, but setting it here allows us to document exactly why we are taking this approach.
            settings.MaxCharactersFromEntities = 0;

            using (var reader = XmlReader.Create(stream, settings))
            {
                doc.Load(reader);
            }
        }
于 2013-01-06T21:28:14.440 に答える