如何读取xml文件中某节点16进制的图片数据?
如何读取xml文件中某节点16进制的图片数据?xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<EPDS>
<Page>
<Name>A1</Name>
<Order>132487A-J</Order>
<Issue>1</Issue>
<Date>2007-04-09</Date>
<Article>
<Coordinate Left="432" Right="666" Top="253" Bottom="549"/>
<Content MainTitle="" SubTitle="" Introduction="" Author="" Origin="">
<Text>消费报讯2005年12月26
日,莆田市秀屿区工商局向易做图
机关移送一起假冒“adidas”、
“NIKE”服装案件,总案值
11.66万元。
2005年9月25日,埭头工
商所在平海镇清洋村芳板自然
村捣毁一加工假冒“adidas”、
“NIKE”商标运动服窝点,现场
暂扣假冒“adidas”服装成品衣
135件、裤242件、服装260套;
假冒“NIKE”商标裤353件、服
装10套,以及假冒的“adidas”和
“NIKE”商标437张。
该批货物至今无人认领,根据
最高人民易做图、最高人民检察院
《关于办理侵犯知识产权刑事案
件具体应用法律若干问题的解
释》,每套服装按现场查获的标价
签198元认定,并按同类产品裤
占每套服装40%计价,认定总案
值11.66万元。(黄志雄肖元和)</Text>
</Content>
<Image Author="" Specification="秀屿移送假冒服装案">
<Data>424dffffff8effffffd60100000000003600</Data>
</Image>
</Article> --------------------编程问答-------------------- <Data>424dffffff8effffffd60100000000003600</Data>
???
这一段,应该是base64编码
用
byte[] byteimg = System.Convert.FromBase64String( datastring );
获取字节流 --------------------编程问答-------------------- 按你上面的写会出现下面的错误啊
Base-64 字符数组的无效长度。 --------------------编程问答-------------------- 有的可以读出,有的就出现上面的错误了 --------------------编程问答-------------------- 已测试可以通过FromBase64String获得byte数组
string str = "424dffffff8effffffd60100000000003600";
byte[] b = System.Convert.FromBase64String( str );
watch:
- b {Length=0x1b} byte[]
[0x0] 0xe3 byte
[0x1] 0x6e byte
[0x2] 0x1d byte
[0x3] 0x7d byte
[0x4] 0xf7 byte
[0x5] 0xdf byte
[0x6] 0x7d byte
[0x7] 0xff byte
[0x8] 0x1e byte
[0x9] 0x7d byte
[0xa] 0xf7 byte
[0xb] 0xdf byte
[0xc] 0x7d byte
[0xd] 0xf7 byte
[0xe] 0x7a byte
[0xf] 0xd3 byte
[0x10] 0x5d byte
[0x11] 0x34 byte
[0x12] 0xd3 byte
[0x13] 0x4d byte
[0x14] 0x34 byte
[0x15] 0xd3 byte
[0x16] 0x4d byte
[0x17] 0x34 byte
[0x18] 0xdf byte
[0x19] 0xad byte
[0x1a] 0x34 byte
贴出你的代码看看 --------------------编程问答-------------------- 如果它不是通过base64编码的,这段代码不行,需要了解具体的数据的编码方式,xml内一般只能放置字符串,二进制数据需要编码。
--------------------编程问答-------------------- 首先谢谢你的帮忙!这部份的代码如下:
ImgAuthor = xReader.GetAttribute(0);
//ImgAuthor=ImgAuthor.Replace("\r","");
//ImgAuthor = ImgAuthor.Replace("\n", "");
//ImgAuthor = ImgAuthor.Replace("\"", "\\" + "\"");
ImgAuthor=DbHelperSQL.InputText(ImgAuthor, 25);
Remark = xReader.GetAttribute(1);
xReader.Read();
if (xReader.Name == "Data")
{
xReader.Read();
if (xReader.Value != "Unknown")
{
Docmodel = new PrjPaper.Model.TabDocuments();
Docmodel.Title = Remark;
Docmodel.DocName = "Img";
Docmodel.DocType = "image/bmp"; //"image/pjpeg";
//string str = xReader.ReadContentAs(typeof(byte[]), null);
string str=xReader.ReadContentAsString();
//Docmodel.Contents=xReader.ReadContentAsBase64(typeof(byte[]),0,
Docmodel.Contents = System.Convert.FromBase64String(str);
//Docmodel.Contents = (byte[])xReader.ReadContentAs(typeof(byte[]), null);
//Docmodel.Contents = DbHelperSQL.StringToByte(xReader.ReadContentAs(typeof(string), null));
Docmodel.Author = ImgAuthor;
Docmodel.Redate = System.Convert.ToDateTime(SpaceDate);
DocID = Docbll.Add(Docmodel);
imgmodel.NewsID = newsmodel.ID;
imgmodel.ImgDocID = DocID;
imgbll.Add(imgmodel);
}
} --------------------编程问答-------------------- Data部份太大,我都贴不出来!我有问了写xml文件的程序员,他说是按16进制写的 --------------------编程问答-------------------- 我的QQ号是:6285767 你如果方便我发给你帮我看一下!
补充:.NET技术 , C#