Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在伪xml文档到达XmlDocument.Load之前修改它_C#_Xml_.net 3.5 - Fatal编程技术网

C# 在伪xml文档到达XmlDocument.Load之前修改它

C# 在伪xml文档到达XmlDocument.Load之前修改它,c#,xml,.net-3.5,C#,Xml,.net 3.5,我有一系列的。。。伪xml文件。我的意思是,它们几乎都是XML文件,但缺少XML声明和根节点。e、 g.从概念上看,它可能是这样的: <a>info</a> <b>info2</b> 这会引发错误,很可能是由于伪xml文件格式不正确。我需要在根节点到达加载之前以某种方式处理添加。我不想修改实际的文件,或者必须将任何内容保存到磁盘(例如,新的临时文件)。我被困在这个问题上了,有什么建议吗?XmlDocument还有一个解析Xml字符串的方法。您可以

我有一系列的。。。伪xml文件。我的意思是,它们几乎都是XML文件,但缺少XML声明和根节点。e、 g.从概念上看,它可能是这样的:

<a>info</a>
<b>info2</b>
这会引发错误,很可能是由于伪xml文件格式不正确。我需要在根节点到达
加载之前以某种方式处理添加。我不想修改实际的文件,或者必须将任何内容保存到磁盘(例如,新的临时文件)。我被困在这个问题上了,有什么建议吗?

XmlDocument还有一个解析Xml字符串的方法。您可以将文件内容加载到字符串中,添加声明并调用LoadXml()。 当然,当您使用长文件时,这可能会非常消耗内存,请注意这一点

XmlDocument还有一个解析Xml字符串的函数。您可以将文件内容加载到字符串中,添加声明并调用LoadXml()。 当然,当您使用长文件时,这可能会非常消耗内存,请注意这一点

你可以试试这个

var xmlString=file.ReadToEnd()
xmlString=“”+xmlString+”
LoadXml(xmlString)

您可以试试这个

var xmlString=file.ReadToEnd()
xmlString=“”+xmlString+”

LoadXml(xmlString)

LoadXml
会对
info info2
抛出异常很酷,我不知道我怎么会错过这个。我可能会走这条路,考虑它可能导致的字符串大小/内存问题。@L.B我想他们的意思是将其作为字符串加载,并在根节点后面附加一个la Romain的示例代码。
LoadXml
会引发
info info2
的异常,很酷,我不知道我怎么会错过这个。我可能会走这条路,考虑它可能导致的字符串大小/内存问题。@L.B我想他们的意思是将其作为字符串加载,并将根节点附加到la Romain的示例代码中。
    XmlDocument xml = new XmlDocument();

    using (StreamReader file = new StreamReader(File.Open(@"file.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)))
    {
        xml.Load(file);
    }