C#如何把转文件化成XML文档 调用word等对象的SaveAs()为xml格式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://msdn.microsoft.com/library/en-us/vbawd11/html/womthSaveAs1.asp?frame=true 类似:http://dotnet.aspx.cc/ShowDetail.aspx?id=13C874E4-7FC7-4FD1-8CF6-DE9EF4469A9C还原直接用office打开即可 这个不能简单的实现。1——可以通过对应的应用程序(比如Word)把文档(doc)打开后另存为xml实现以及通过应用程序(Word)打开XML后另存为文档(doc)。2——直接把文件内容全部BASE64编码后保存到XML文件中,或者从XML文件中读取内容进行BASE64解码后保存到对应的文件。 参考http://dotnet.aspx.cc/ShowDetail.aspx?id=EBD43E74-1BDE-43AA-DEAF-211FA24A7BC2写如下代码测试通过:using System.IO;StreamReader mStm =new StreamReader("C:\\test.Doc",System.Text.Encoding.Default); char[] mChars=new char[mStm.BaseStream.Length]; mStm.Read(mChars,0,mChars.Length); byte[] mBytes =System.Text.Encoding.Default.GetBytes(mChars); string mStr = Convert.ToBase64String(mBytes); System.Xml.XmlDocument mXmlDoc =new System.Xml.XmlDocument(); mXmlDoc.LoadXml("<pic><name>孟宪会</name><photo>" + mStr + "</photo></pic>"); mXmlDoc.Save("c:\\test.xml"); 简单啊,孟子好像提供了这样一个程序,就是把你的文件按二进制读取,存入XML的相应字段即可,读取即相反的过程。 To大象:你的代码给我很大启发,但是,如果Word文档带有图片,好像不行谢谢各位的指点!以下是我解决问题的代码 System.IO.FileStream inFile=new FileStream("C:\\test\\qw.pdf",System.IO.FileMode.Open,System.IO.FileAccess.Read); byte[] binaryData=new byte [inFile.Length]; inFile.Read(binaryData, 0,(int)inFile.Length); string mStr=Convert.ToBase64String(binaryData); string hh=mStr; System.Xml.XmlDocument mXmlDoc=new System.Xml.XmlDocument(); mStr=string.Format ("<测试><项 aa=\"{0}\"/></测试>",mStr); mXmlDoc.LoadXml( mStr); mXmlDoc.Save("c:\\test\\wword.xml"); XmlDocument doc=new XmlDocument (); doc.Load ("c:\\test\\wword.xml"); XmlNode node=doc.DocumentElement .SelectSingleNode("项") ; XmlElement ele=(XmlElement)node; string pic=ele.GetAttribute ("aa"); byte[] bytes=Convert.FromBase64String (pic); FileStream outfile=new System.IO .FileStream ("C:\\test\\twoqw.pdf",System.IO.FileMode.CreateNew); outfile.Write(bytes,0,(int)bytes.Length ); 添加多个textbox中的内容到txt文件时,怎样识别重复的行? DBNull问题 有关线程之类的问题比较头痛的问题 请问如何将unicode中的中文转换成ASCII? 请问下protected,private,public修饰类是什么情况? WPF编程 高分讨论 C#.NET + SqlServer2000 编的程序 的部署问题 怎么判断一个元素在不在一个集合里面? 我想要Mediaplayer 9控件的资料 读byte[]字节流的问题 菜鸟问怎么用查找唯一的列?我要用DropDownList帮定? 各位DX:我有一个查找局域网计算机名称的程序,但执行速度太慢,请指点:
http://dotnet.aspx.cc/ShowDetail.aspx?id=13C874E4-7FC7-4FD1-8CF6-DE9EF4469A9C还原直接用office打开即可
可以通过对应的应用程序(比如Word)把文档(doc)打开后另存为xml实现以及通过应用程序(Word)打开XML后另存为文档(doc)。2——
直接把文件内容全部BASE64编码后保存到XML文件中,或者从XML文件中读取内容进行BASE64解码后保存到对应的文件。
写如下代码测试通过:
using System.IO;StreamReader mStm
=new StreamReader("C:\\test.Doc",System.Text.Encoding.Default);
char[] mChars=new char[mStm.BaseStream.Length];
mStm.Read(mChars,0,mChars.Length);
byte[] mBytes
=System.Text.Encoding.Default.GetBytes(mChars);
string mStr = Convert.ToBase64String(mBytes);
System.Xml.XmlDocument mXmlDoc
=new System.Xml.XmlDocument(); mXmlDoc.LoadXml("<pic><name>孟宪会</name><photo>" + mStr + "</photo></pic>");
mXmlDoc.Save("c:\\test.xml");
以下是我解决问题的代码
System.IO.FileStream inFile=new FileStream("C:\\test\\qw.pdf",System.IO.FileMode.Open,System.IO.FileAccess.Read);
byte[] binaryData=new byte [inFile.Length];
inFile.Read(binaryData, 0,(int)inFile.Length);
string mStr=Convert.ToBase64String(binaryData);
string hh=mStr;
System.Xml.XmlDocument mXmlDoc=new System.Xml.XmlDocument();
mStr=string.Format ("<测试><项 aa=\"{0}\"/></测试>",mStr);
mXmlDoc.LoadXml( mStr);
mXmlDoc.Save("c:\\test\\wword.xml"); XmlDocument doc=new XmlDocument ();
doc.Load ("c:\\test\\wword.xml");
XmlNode node=doc.DocumentElement .SelectSingleNode("项") ;
XmlElement ele=(XmlElement)node;
string pic=ele.GetAttribute ("aa"); byte[] bytes=Convert.FromBase64String (pic);
FileStream outfile=new System.IO .FileStream ("C:\\test\\twoqw.pdf",System.IO.FileMode.CreateNew);
outfile.Write(bytes,0,(int)bytes.Length );