我想在xml下面以编程方式更改XML实体声明。 我想阅读它并更改ENTITY字符串" Custom / spaus.xml"到其他一些字符串或位置。
<!DOCTYPE MYFILE SYSTEM "../../../Data/dtd/Language.dtd"[
<!ENTITY CustomMyDoc SYSTEM "Custom/MyDoc.xml">]>
<MYFILE>
<File VALUE="SPAUS" DESC="This File is in custom" MEDIA="DEFAULT">
<DETAIL VALUE="DISPLAY">Español</DETAIL>
&CustomMyDoc;
<KEY VALUE="ACCT_CH">Cuenta de Cheques</KEY>
<KEY VALUE="ACCT_SV">Ahorros</KEY>
<KEY VALUE="ACCT_OT">Otros</KEY>
</FILE>
</MYFILE>
我尝试使用XmlTextReader读取xml并在XmlDocument中加载xml然后获取XmlEntity但是我无法更改所需的值。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.PreserveWhitespace = true;
try
{
using (XmlTextReader myXmlTextReader = new XmlTextReader(xmlPath))
{
xmlDoc.Load(myXmlTextReader);
}
}
catch (Exception e)
{
Exception ex = new Exception(String.Format("Error parsing XML file '{0}': {1}", xmlPath, e.Message), e);
Logger.LogException(ex);
return;
}
XmlNamedNodeMap nMap = xmlDoc.DocumentType.Entities;
if (nMap.Count > 0)
{
XmlEntity node = (XmlEntity)nMap.Item(0);
}
现在我无法如何推进&#34; Custom \ Spaus.xml&#34;来自XmlEntity.SystemId;财产,但这是只读的。