由于加密,我已将xml文件读为字符串。
string xmlString = System.IO.File.ReadAllText("../../liberal.xml");
//how to load xml document here?
XmlDocument xmlDo = new XmlDocument();
xmlDo.Load("../../liberal.xml");
上面的代码抛出错误并且没有加载。
XML文件没有任何根元素,现在自由XML文件看起来像dasjkhf8dfkbhdflak3kjbdf+fafas(safasasdfjgdskalfguv.ng;FHSDAFKLASDF
。
无法使用此数据格式加载xml文档。只有我可以加载XML文档,我才能使用它们的属性为xml文件添加新值。
UPDATE1:
我解密了xml并放在一个字符串中,但是无法用该字符串加载xml文档。
string retValue;
XmlDocument dec = new XmlDocument();
dec.Load(retValue);
retValue字符串具有这样的值。
<Product><Type>Metal</Type><Department>Foundry</Department></Product>
错误消息
Illegal characters in path.
真的很感激任何帮助。
答案 0 :(得分:1)
您正在使用XmlDocument.Load(string)
方法接受XML文件的路径。您需要使用接受任何有效XML 标记的XmlDocument.LoadXml(string)
方法。
两个完全不同的参数。
实施例:
// XmlDocument.LoadXml(string)
string decryptedMarkup = "<Product><Type>Metal</Type>"
+ "<Department>Foundry</Department></Product>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(decryptedMarkup);
// XmlDocument.Load(string)
string pathToFile = "test.xml";
XmlDocument xmlDoc2 = new XmlDocument();
xmlDoc2.Load(pathToFile);
有关详细信息,请查看:
XmlDocument.Load(string)
字符串参数:
包含要加载的XML文档的文件的URL。 URL可以是本地文件或HTTP URL(Web地址)。
字符串参数:
包含要加载的XML文档的字符串。