Fjli de blog分享 http://blog.sciencenet.cn/u/shipo Make or Break

博文

XmlDocument To String

已有 6948 次阅读 2010-4-20 14:59 |个人分类:学习心得|系统分类:科研笔记| XML

寻思怎么将XmlDocument内容 转换成String xml。网上有很多介绍从String xml到XmlDocument的,比较简单:

string xml = "<XML><Test>Hello World</Test></XML>"
XmlDocument doc = new XmlDocument();
xml.loadXml(xml);

        如何将XmlDocument内容 转换成String xml,怎么也找不到,只好写了个特别笨的,先写到本地文件,再字符串形式流读取:

public string XmltoString(string path)
{
            string strXML = "";
            string strLine = "";
            StreamReader objReader = new StreamReader(path);
            // read line
            while ((strLine = objReader.ReadLine()) != null)
            {
                strXML += strLine;
            }
            objReader.Close();

            return strXML;
}

后来,在网上看到一篇“老外编的程序(一)”:

// xmlDocument to string
static public string xmlDocument2String(XmlDataDocument doc)
{
            MemoryStream stream = new MemoryStream();
            XmlTextWriter writer = new XmlTextWriter(stream, System.Text.Encoding.UTF8);
            writer.Formatting = Formatting.Indented;
            doc.Save(writer);

            StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8);
            stream.Position = 0;
            string xmlstring = sr.ReadToEnd();
            sr.Close();
            stream.Close();

            return xmlstring;
}

挺好!学习...

======== 补充 =========

xmlDocument2String 可以把 xmlDocument 内容变成比较符合标准格式的 xml 字符串,例如:

<?xml version="1.0" encoding="utf-8"?>
<XML>
  <Test>Hello World</Test>
</XML>

刚刚发现,其实如果只要求字符串的话,不用这么麻烦,xmlDocument 的 OuterXml 方法就可以实现了。结果如下:

doc.OutXml;

<XML><Test>Hello World</Test></XML>

 

 



https://blog.sciencenet.cn/blog-427149-314106.html


下一篇:IBM MQ触发器触发进程
收藏 IP: .*| 热度|

1 黄富强

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 22:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部