如何直接从XML文件加载数据,而不是通过tring builder创建XML文件

时间:2012-03-30 17:05:11

标签: c# xml xmldocument xmlreader

我正在使用StringBuilder来创建XML文档。我想直接输入XML文件并从中获取数据,而不是构建xml文件。

           string namespaceUri = "NamespaceURI";
           System.Text.StringBuilder content = new StringBuilder();
           string First = "Hello World.This is Fisrt field";
           content.AppendFormat("<{0} xmlns=\"{1}\">", "rootelementname", namespaceUri);
           content.AppendFormat("<{0} xmlns=\"{1}\">{2}</{0}>", "first", namespaceUri, First);
           content.AppendFormat("</{0}>", "rootelementname");
           string data = content.ToString();

使用以下方法创建的outputXML文件

    <rootelementname xmlns="namespaceUri">
        <first>Hello World.This is Fisrt field</first>            
    </rootelementname>

如果我直接使用上面的xml文件,请在路径“E:\ abcd \ source.xml下” 如何直接将source.xml加载到“data”变量中。

请分享您的想法。

谢谢

3 个答案:

答案 0 :(得分:1)

您可以尝试以下操作:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"E:\abcd\source.xml");

string data = xmlDoc.OuterXml;

以上只是一个示例,在您的代码中请相应地处理异常。

答案 1 :(得分:0)

您不应该使用stringbuilder来序列化XML。尝试使用XDocument。看看这篇更详细解释的文章: - How to correctly open a FileStream for usage with an XDocument

答案 2 :(得分:0)

使用System.Xml.XmlDocument加载并保存Xml。 Check this

您可以使用XmlDocument.Load()方法从任何目录加载xml。查看this