读取引用另一个XML文件的XML文件

本文关键字:XML 文件 另一个 引用 读取 | 更新日期: 2023-09-27 18:21:33

我正试图从以下文件中读取XML:

var XmlData = XElement.Load(@"D:'test.xml");

test.xml指的是另一个xml文件,如:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document [ <!ENTITY systems SYSTEM 'file:D:'systems.xml'> ]>
<Root>  
    &systems;
    <Servers>
         <Server>Server1</Server>
         <Server>Server2</Server>
    </Servers>
</Root>

systems.xml 的内容

<Systems>
  <System Id="1" Name="System1" />
  <System Id="2" Name="System2" />
</Systems>

然而,我在XmlData中得到的是

<Root>  
    <Servers>
         <Server>Server1</Server>
         <Server>Server2</Server>
    </Servers>
</Root>

在阅读test.xml 时如何包含systems.xml的内容

读取引用另一个XML文件的XML文件

试试这样的东西:

XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
XmlReader reader = XmlReader.Create("test.xml", settings);
var XmlData = XElement.Load(reader);