读取xml节点属性的value 是二进制的 如何转换为原始文件

来自星星的你_ 2015-07-17 02:33:16
string filename = Server.MapPath("~/file/3333.xml");
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(filename);
XmlNode cNodes = xmldoc.SelectSingleNode("title");
for (int i = 0; i < cNodes.ChildNodes.Count; i++)
{
XmlNode c = cNodes.ChildNodes[i];
string s = c.Attributes["stream"].Value;//已经读到了值 ,此值是二进制格式的
//如何把这个二进制的保存为原来的文件,放在本地
}
...全文
214 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dotar 2015-07-17
  • 打赏
  • 举报
回复
byte[] data = Encoding.ASCII.GetBytes(s); FileStream fstream = File.Create("~\\File\\xxxxx.格式", data.Length); try { fstream.Write(data, 0, data.Length); //二进制转换成文件 } catch (Exception ex) { //抛出异常信息 }
ajianchina 2015-07-17
  • 打赏
  • 举报
回复
如果是字符串的值

string filename = Server.MapPath("~/file/3333.xml");
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(filename);
XmlNode cNodes = xmldoc.SelectSingleNode("title");
for (int i = 0; i < cNodes.ChildNodes.Count; i++)
{
    XmlNode c = cNodes.ChildNodes[i];
    c.Attributes["stream"].Value = jiema(c.Attributes["stream"].Value);
}
xmldoc.Save("~/file/3333.xml");//保存

public static string jiema(string s)
{
    System.Text.RegularExpressions.CaptureCollection cs =
        System.Text.RegularExpressions.Regex.Match(s, @"([01]{8})+").Groups[1].Captures;
    byte[] data = new byte[cs.Count];
    for (int i = 0; i < cs.Count; i++)
    {
        data[i] = Convert.ToByte(cs[i].Value, 2);
    }
    return Encoding.Unicode.GetString(data, 0, data.Length);
}
ajianchina 2015-07-17
  • 打赏
  • 举报
回复
上面节点弄错了

string filename = Server.MapPath("~/file/3333.xml");
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(filename);
XmlNode cNodes = xmldoc.SelectSingleNode("title");
for (int i = 0; i < cNodes.ChildNodes.Count; i++)
{
    XmlNode c = cNodes.ChildNodes[i];
    c.Attributes["stream"].Value = Convert.ToInt32(c.Attributes["stream"].Value, 2).ToString();
}
xmldoc.Save("~/file/3333.xml");//保存
ajianchina 2015-07-17
  • 打赏
  • 举报
回复

string filename = Server.MapPath("~/file/3333.xml");
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(filename);
XmlNode cNodes = xmldoc.SelectSingleNode("title");
for (int i = 0; i < cNodes.ChildNodes.Count; i++)
{
    XmlNode c = cNodes.ChildNodes[i];
    c.InnerText = Convert.ToInt32(c.Attributes["stream"].Value,2).ToString();
}
xmldoc.Save("~/file/3333.xml");//保存
  • 打赏
  • 举报
回复
二进制,0和1的字符长串?一致最多也是十六进制的,两位表示一个字节吧
  • 打赏
  • 举报
回复
来人回答~~~~~~~~~~~~~

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧