中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 综合其他 > 其他资料
EXIF格式分析及通过XML处理(5)
作者:Raptor 时间:2002-03-25 11:17 出处:互联网 责编:chinaitpower
              摘要:EXIF格式分析及通过XML处理(5)

EXIF格式分析及通过XML处理

 

猛禽[Mental Studio](个人专栏)(BLOG)

http://mental.mentsu.com

 

转换后的XML大致如下:

<?xml version="1.0" encoding="GB2312"?>

<ExifAPP1>

  <ExifID>Exif</ExifID>

  <TIFFHeader>

    <ByteOrder>II</ByteOrder>

    <Flag>0x002A</Flag>

    <IFD name="IFD0">

      <Count>0xB</Count>

      <Entry>

        <Tag>0x10E</Tag>

        <Type>2</Type>

        <Size>0xB</Size>

        <Value>          </Value>

      </Entry>

      <Entry>

        <Tag>0x10F</Tag>

        <Type>2</Type>

        <Size>0x6</Size>

        <Value>NIKON</Value>

      </Entry>

      <Entry>

        <Tag>0x110</Tag>

        <Type>2</Type>

        <Size>0x5</Size>

        <Value>E775</Value>

</Entry>

      <Entry>

        <Tag>0x8769</Tag>

        <Type>4</Type>

        <Size>0x1</Size>

        <Value>0x0000011C</Value>

      </Entry>

    </IFD>

    <IFD name="EXIF">

      <Count>0x18</Count>

      <Entry>

        <Tag>0x9000</Tag>

        <Type>7</Type>

        <Size>0x4</Size>

        <Value> 0x30 0x32 0x31 0x30</Value>

</Entry>

      <Entry>

        <Tag>0x9286</Tag>

        <Type>7</Type>

        <Size>0x7D</Size>

        <Value> 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20</Value>

</Entry>

      <Entry>

        <Tag>0xA005</Tag>

        <Type>4</Type>

        <Size>0x1</Size>

        <Value>0x00000376</Value>

</Entry>

    </IFD>

    <IFD name="InterOp">

      <Count>0x2</Count>

      <Entry>

        <Tag>0x1</Tag>

        <Type>2</Type>

        <Size>0x4</Size>

        <Value>R98</Value>

      </Entry>

      <Entry>

        <Tag>0x2</Tag>

        <Type>7</Type>

        <Size>0x4</Size>

        <Value> 0x30 0x31 0x30 0x30</Value>

      </Entry>

    </IFD>

    <IFD name="IFD1">

      <Count>0x6</Count>

      <Entry>

        <Tag>0x103</Tag>

        <Type>3</Type>

        <Size>0x1</Size>

        <Value>0x0006</Value>

</Entry>

    </IFD>

  </TIFFHeader>

</ExifAPP1>

有了这个XML就可以很方便地进行下一步处理了,比如用下面这个XSL文件对上面这个XML进行转换:

<?xml version="1.0" encoding="GB2312" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/">

  <xsl:for-each select="ExifAPP1/TIFFHeader/IFD/Entry">

    <xsl:choose>

      <xsl:when test="Tag[.='0x10F']">制造商=<xsl:value-of select="Value" />

      </xsl:when>

      <xsl:when test="Tag[.='0x110']">型号=<xsl:value-of select="Value" />

      </xsl:when>

    </xsl:choose>

  </xsl:for-each>

</xsl:template>

</xsl:stylesheet>

即可得出下面的结果:

制造商=NIKON

型号=E775

以后不论是增加Tag还是要改语言,只要修改这个XSL文件即可实现,完全不用修改EXIF处理部分的程序代码,非常的灵活方便。

 

[Mental Studio]猛禽

2004-4-3

参考文献:

[1]      JEITA CP-3451. Exchangeable image file format for digital still cameras:Exif Version 2.2. JEITA(Japan Electronics & Information Technolog Industries Association). April, 2002.

[2]      Aldus Corporation. TIFF Revision 6.0 Final - June 3,1992.

[3]      Gregory K.Wallace. The JPEG Still Picture Compression Standard.Communications of the ACM. April, 1991.

[4]      Eric Hamilton. JPEG File Interchange Format Version 1.02. C-Cube Microsystem. September 1, 1992.

(续完)

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有