读入字符串后加载xml文件

时间:2016-10-25 14:41:49

标签: c# asp.net .net xml

由于加密,我已将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.

真的很感激任何帮助。

1 个答案:

答案 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地址)。


XmlDocument.LoadXml(string)

字符串参数:
包含要加载的XML文档的字符串。